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