在所谓的函数中,::foo()
我不了解语法的含义。如果是这样的foo::count_all()
话,我知道那count_all
是类或名称空间的函数foo
。
在::foo()
什么情况下::
引用?
该::
操作被调用namespace
或class
。在您的情况下,它正在调用全局命名空间,而全局命名空间就是不在命名空间中的所有内容。
下面的示例说明了为什么命名空间很重要。如果您只是拨打foo()
电话,则呼叫将无法解决,因为有2foo
秒。您需要使用来解决全局问题::foo()
。
namespace Hidden {
int foo();
}
int foo();
using namespace Hidden; // This makes calls to just foo ambiguous.
int main() {
::foo(); // Call to the global foo
hidden::foo(); // Call to the foo in namespace hidden
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句