具有前面::在C ++中的对象声明

时间:2016-06-30 22:59:57

标签: c++ c++11

以下在C ++中代表什么?

::SomeNameSpace::SomeClass abc;

基本上这与

有什么不同
SomeNameSpace::SomeClass abc;

1 个答案:

答案 0 :(得分:2)

::运算符是范围运算符;它表示一些特定的范围。如果没有前缀,那么它表示全局范围。

因此,如果SomeNameSpace位于全局范围内,那么::SomeNameSpaceSomeNameSpace是相同的。区别在于您是否处于非全局范围并使用SomeNameSpace,因为它首先在当前范围内查找。