Ed.*_*Ed. 5 c++ name-lookup scope-resolution-operator
我正在看别人的 C++ 代码(注意我对 C++ 不太流利)。
在类中,有一个成员函数:
void ClassYaba::funcname()
{
...
::foo();
...
}
Run Code Online (Sandbox Code Playgroud)
该类的命名空间中没有名为 的成员函数foo,但除此之外,::foo()和foo()(没有前导冒号)之间有什么区别?
你打电话时
foo();
Run Code Online (Sandbox Code Playgroud)
fooC++ 将按以下顺序搜索命名的内容:
另一方面,写
::foo();
Run Code Online (Sandbox Code Playgroud)
将使 C++ 纯粹在全局命名空间中查找某些内容。
foo如果您的类、其任何基类或其中声明的任何命名空间中没有任何命名foo,那么这两种方法之间没有区别。
| 归档时间: |
|
| 查看次数: |
90 次 |
| 最近记录: |