使用const可以采用類似定義變量的方法來定義常量,在定義的時候必須初始化以指明常量值。比如 const int a =1; 。

  那么編譯器會給const定義的常量分配內(nèi)存空間嗎?如果分配了內(nèi)存空間,那么每次使用這個常量都要訪問這個地址,空間效率暫且不論,時間效率不也被大大浪費?在這里可能一開始大家都會有這樣的疑問。特別是單片機編程出身的我,在那個一無所知的時候覺得浪費效率簡直渾身難受(單片機的計算能力非常有限)。

  先說是否給const常量分配空間,答案是會。可以對一個const常量取地址,因此無疑const常量在內(nèi)存中是有一席之地的。

  再說時間效率,實際上編譯器都會采用常量折疊技術(shù)來優(yōu)化代碼。具體說就是像宏替換一樣把常量替換成立即數(shù)。但與宏替換不同的是,這個是在編譯階段完成的。這樣凡是用到const常量的時候,都不需要訪問內(nèi)存去取出常量值,而是直接用立即數(shù)(這個數(shù)是直接寫在機器指令里的)。這樣的時間效率和宏替換相當(dāng)。盡可能多的使用const關(guān)鍵字吧,這樣可以大大減少bug數(shù)量。

電腦培訓(xùn),計算機培訓(xùn),平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),Web培訓(xùn),Web前端開發(fā)培訓(xùn)

      a =   
    =

電腦培訓(xùn),計算機培訓(xùn),平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),Web培訓(xùn),We
        
        	<div   id=

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運,軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式