例如
{
...
::somefunction()...
...
}
有哪些肯能出现
::somefunction()
的情况?
谢谢!
參考答案:表示全局作用域。
C++的函数默认都是全局作用域的。所以如果在一个类中,类作用域中的成员函函数如果与全局作用域的函数重名,全局作用域就变得不可见。这里如果要调用全局函数(而不是类的成员函数),就要在函数名前加::
变量与之类似,如:
#include <iostream>
int val = 100;
//注意cout与endl在名字空间std中
int main()
{
int val = 5; //局部名字与全局名字重名,全局名字不可见
std::cout << val << std::endl; //输出局部变量5
std::cout << ::val << std::endl; //输出全局变量100
return 0;
}