一般情况下,若有两个同名的变量,其中一个是全局变量,另一个是局部变量,那么局部变量在其作用域内具有优先权。
例:
#include <iostream> using namespace std; int a=1; int main(void) { int a=2; cout<<::a<<endl; return 0; }
我们若想使用全局变量a,则应加作用域标识符:输出的值为a=2。
同样,在main函数里更改全局变量a的值也得使用作用域标识符:这样输出的a值就为1了。cout<<::a<<endl;
#include <iostream> using namespace std; int a=1; int main(void) { int a=2; ::a=3; cout<<::a<<endl; return 0; }