关于namespace

namespace A {
    struct X();
    struct Y();
    void f(int) {}
    void g(X) {}
}

namespace B {
    void f(int i) {
        f(i);
    }
    void g(A::X x) {
        g(x);    
    }
    void h(A::Y y) {
        h(y);
    }
}

C++函数会根据参数类型去寻找更加合适的函数类型,如B::g(A::X x),其中X为A中的类型,B::g(x)执行时所以会先找到A::g(x)。

猜你喜欢

转载自blog.csdn.net/whiskey_wei/article/details/81146737