C++基础(三)—作用域运算符

来源:互联网 发布:英语歌曲学英语知乎 编辑:程序博客网 时间:2024/05/22 11:46
通常情况下,如果有两个同名变量,一个是全局变量,另一个是局部变量,那么局部变量在其作用域内具有较高的优先权,它将屏蔽全局变量。
//全局变量int a = 10;void test(){    //局部变量    int a = 20;    //全局a被隐藏    cout << "a:" << a << endl;}
程序的输出结果是a:20。在test函数的输出语句中,使用的变量a是test函数内定义的局部变量,因此输出的结果为局部变量a的值。

作用域运算符可以用来解决局部变量与全局变量的重名问题 

//全局变量int a = 10;//1. 局部变量和全局变量同名void test(){    int a = 20;    //打印局部变量a    cout << "局部变量a:" << a << endl;    //打印全局变量a    cout << "全局变量a:" << ::a << endl;}

这个例子可以看出,作用域运算符可以用来解决局部变量与全局变量的重名问题,即在局部变量的作用域内,可用::对被屏蔽的同名的全局变量进行访问