[Oh My C++ Diary]一元作用域运算符::的使用
“::”是作用域运算符,是C++语言中优先级最高的运算符。
它可以用于代码块的作用域,在函数内(包括main函数哟!)如果有一个与全局变量重名的变量,可以用 ::a 的形式访问这个全局变量。(说明如果不用::,默认访问函数内的局部变量,因为局部变量在其作用域内具有较高的优先权,它将屏蔽全局变量)
举个例子:
举几个例子:
1.
#include<iostream>
using namespace std;
int a = 99; //全局变量a
int main()
{
int a = 100; //局部变量a和全局变量同名
cout << a << endl; //将打印局部变量a
return 0;
}
输出结果为100
2.
#include<iostream>
using namespace std;
int a = 99; //全局变量a
int main()
{
int a = 100; //局部变量a和全局变量同名
cout << ::a << endl; //将打印全局变量a
return 0;
}
输出结果为99
3.
#include<iostream>
using namespace std;
int a = 99; //全局变量a
int main()
{
int a = 100; //局部变量a和全局变量同名
cout << a << ::a << endl;
return 0;
}
输出结果为10099