在C ++中使用命名空间的关键字

时间:2013-05-24 09:14:35

标签: c++ namespaces

有一个逻辑上的原因,在关键字using namespace之后,我们不能在命名空间中使用一个名为myfunction的函数,而在命名空间之外不能使用另一个名为myfunction的函数(使用相同的原型),但我们可以为变量(myvariable在命名空间中,myvariable在它之外)?

1 个答案:

答案 0 :(得分:1)

当然,您可以在不同的名称空间中使用具有相同名称和签名的函数 - 这是名称空间存在的部分原因。唯一的考虑因素是,如果你想要打电话,你将不得不限定其名称。

namespace Foo {
    void func();
}

namespace Bar {
    void func();
}

using namespace Foo;
using namespace Bar;

func(); // does not compile -- which func()?

Foo::func(); // ok
Bar::func(); // ok