ADL,參數相關查找,也稱作為Koenig查找(以Andrew Koenig的名字命名,有興趣可以看Scott Meyer的文章The Most Important C++ People...Ever),是指在編譯器對無限定域的函式調用進行名字查找時,所套用的一種查找規則。
基本介紹
- 中文名:參數相關查找
- 外文名:Argument Dependent Lookup
- 學科:計算機
- 領域:C++編程
分類
f(x, y, z); // unqualifiedN::f(x, y, z); // qualified
套用示例
#include <iostream>using namespace std; namespace Koenig{ class KoenigArg { public: ostream& print(ostream& out) const { out<<member_<<endl; } KoenigArg(int member = 5) : member_(member){} private: int member_; }; inline ostream& operator<<(ostream& out, const KoenigArg& kArg) { return kArg.print(out); }} int main(){ Koenig::KoenigArg karg(10); cout<<karg; char c;cin>>c; return 0;}template<typename T> void print(const T& value){ std::cout<<value;}print(karg);