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