日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 芯聞號 > 充電吧
[導讀]在C語言中,const ?用來限制一個變量,表示這個變量不能被修改,我們通常稱這樣的變量為常量(Constant),《C語言const:禁止修改變量的值》一節(jié)已經(jīng)進行了細致的講解。在C++中,cons

在C語言中,const ?用來限制一個變量,表示這個變量不能被修改,我們通常稱這樣的變量為常量(Constant),《C語言const:禁止修改變量的值》一節(jié)已經(jīng)進行了細致的講解。


在C++中,const 的含義并沒有改變,只是對細節(jié)進行了一些調(diào)整,以下是最主要的兩點。 C++中的 const 更像編譯階段的 #define 先來看下面的兩條語句:


const int m = 10;int n = m; 我們知道,變量是要占用內(nèi)存的,即使被 const 修飾也不例外。m、n 兩個變量占用不同的內(nèi)存,int n = m;表示將 m 的值賦給 n,這個賦值的過程在C和C++中是有區(qū)別的。

在C語言中,編譯器會先到 m 所在的內(nèi)存取出一份數(shù)據(jù),再將這份數(shù)據(jù)賦給 n;而在C++中,編譯器會直接將 10 賦給 m,沒有讀取內(nèi)存的過程,和int n = 10;的效果一樣。C++ 中的常量更類似于#define命令,是一個值替換的過程,只不過#define是在預處理階段替換,而常量是在編譯階段替換。

C++ 對 const 的處理少了讀取內(nèi)存的過程,優(yōu)點是提高了程序執(zhí)行效率,缺點是不能反映內(nèi)存的變化,一旦 const 變量被修改,C++ 就不能取得最新的值。

有讀者提出疑問,const 變量不是禁止被修改嗎?對,這種說法沒錯!不過這只是語法層面上的限制,通過指針仍然可以修改。


本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉