C++ 中的“引數相關查詢”(“Koenig 查詢”)是什麼?
引數相關查詢(ADL)是一種在函式呼叫表示式中查詢不合格函式名的協議。
這些函式呼叫表示式包括對過載運算子的隱式函式呼叫。
除了通常的非限定名稱查詢所考慮的範圍和名稱空間外,函式名稱還在其引數的名稱空間中進行查詢。引數相關查詢使得可以使用在不同名稱空間中定義的運算子。
示例
namespace MyNamespace{
class A {};
void f( A &a, int i) {}
}
int main() {
MyNamespace::A a;
f( a, 0 ); //calls MyNamespace::f
}對函式 f 的呼叫查詢依賴於引數 a。同樣的情況也適用於 << 和 >> 等引數,當我們使用 cout、cin、endl 等內容時,將在 std 名稱空間中查詢它們。
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP