1. 程式人生 > >作用域運算子 “::”(C++學習筆記 10)

作用域運算子 “::”(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; }