本课程深入讲解C++进阶语法及其扩展内容。重点介绍命名空间引用(reference),用于别名的名称;包括int &b = a作为引用实例以及int b = &a作为取地址示例。函数重载(overload)也将涵盖其中。
发布时间
阅读量:
阅读量
一、::作用域运算符
通常而言,在存在两个同名变量的情况下——一个是全局变量——另一个是局部变量时,则局部变量在其作用域范围内具有更高的优先级,并将遮蔽全局变量的作用。
//全局变量
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;
}
通过这个实例可以看出,在处理局部变量与全局变量重名问题时,作用域运算符可用于解决这一挑战。具体而言,在局部变量的作用域内,借助::操作可有效地访问未被屏蔽的
全部评论 (0)
还没有任何评论哟~
