【发布时间】:2013-08-11 21:37:40
【问题描述】:
根据我的理解,将:: 附加到命名空间的前面是指全局命名空间,而不管任何 using 语句或父命名空间。如果是这样,而且我没有误解任何东西,那么为什么这样的代码会编译(至少在 Visual Studio 中):
namespace Foo {
namespace Bar {
class X;
}
}
using namespace Foo;
int main(void)
{
::Bar::X x;
}
【问题讨论】:
-
因为 using 指令会导入所有内容。
标签: c++ namespaces scope