作用域运算符 “::”(C++学习笔记 10)

  通常情况下,如果有两个同名变量,一个是全局的,另一个是局部的,那么局部变量在其作用域内具有较高的优先权,它将屏蔽全局变量。
  如果希望在局部变量的作用域内使用同名的全局变量,可以在该变量前加上“::”,此时::avar代表全局变量,“::”称为作用域运算符。
例1: 全局变量和局部变量同名。

#include<iostream>
using namespace std;
int avar=10; //全局变量avar
int main(){
        int avar;  //局部变量avar
        avar=25;
        cout<<"avar is "<<avar<<endl;  //将会输出avar is 25
        return 0;
}

例2: 作用域运算符的使用。

#include<iostream>
using namespace std;
int avar=10; //全局变量avar
int main(){
        int avar;  //局部变量avar
        avar=25;
        cout<<"local avar is "<<avar<<endl;  //将会输出 local avar is 25
        cout<<"global avar is "<<::avar<<endl;  //将会输出 global avar is 10
        ::avar=80;
        cout<<"avar is "<<avar<<endl;  //将会输出 avar is 25
        cout<<"avar is "<<::avar<<endl;  //将会输出 avar is 80
        return 0;
}

猜你喜欢

转载自blog.csdn.net/aaqian1/article/details/83623042
今日推荐