它是一种koenig查找?

时间:2017-03-03 17:11:57

标签: c++

根据http://wikistack.com/koenig-lookup-or-argument-dependent-lookup/发布的文章 koenig看起来只在命名空间的情况下发生。如果确实如此,则在下面的情况下如何进行查找

#include<iostream>
using namespace std;

class foo {
public:
    friend void hello(foo obj) {
        cout << "hello\n";
    }
};

int main() {
    foo foo_obj;
    hello(foo_obj);
    return 0;
}

1 个答案:

答案 0 :(得分:1)

hello成为friend foo意味着 实际上是foo的成员(尽管其定义为在foo的定义中)。它的名字是#34;注入&#34;进入全局命名空间,这就是它在main中找到的方式。