c++作用域運算符用法(全局變量和局部變量)
通常情況下,如果有兩個同名變量,一個是全局變量,另一個是局部變量,那么局部變量在其作用域內(nèi)具有較高的優(yōu)先權(quán),它將屏蔽全局變量。
作用域運算符
#include<iostream>
using namespace std;
int num=10;
int main()
{ int num;
num=25;
cout<<"num is "<<num<<endl;
return 0;
}
程序的輸出結(jié)果是num is 25。在main函數(shù)的輸出語句中,使用的變量num是main函數(shù)內(nèi)定義的局部變量,因此輸出的結(jié)果為局部變量num的值。
作用域運算符可以用來解決局部變量與全局變量的重名問題
//如果我們希望在局部變量的作用域內(nèi)使用同名的全局變量,那么可以在該變量的前面加上“::”,此時“::num”就代表全局變量,::就是作用域運算符。
#include<iostream>
using namespace std;
int avar; //全局變量定義
int main()
{ int avar; //局部變量定義
avar=25;
::avar=10;
cout<<"local avar = "<<avar<<endl;
cout<<"global avar = "<<::avar<<endl;
return 0;
}
結(jié)果是:
local avar =25
global avar =10
這個例子可以看出,作用域運算符可以用來解決局部變量與全局變量的重名問題,即在局部變量的作用域內(nèi),可用::對被屏蔽的同名的全局變量進行訪問。
相關(guān)文章
深入學習C++智能指針之shared_ptr與右值引用的方法
智能指針的核心實現(xiàn)技術(shù)是引用計數(shù),每使用它一次,內(nèi)部引用計數(shù)加1,每析構(gòu)一次內(nèi)部的引用計數(shù)減1,減為0時,刪除所指向的堆內(nèi)存,今天通過本文給大家分享C++智能指針之shared_ptr與右值引用的方法,需要的朋友跟隨小編一起看看吧2021-07-07C++中rapidjson將map轉(zhuǎn)為json的方法
今天小編就為大家分享一篇關(guān)于C++中rapidjson將map轉(zhuǎn)為json的方法,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-04-04