const

目錄

一、const的意義

二、常量和宏定義的區別

三、const修飾類成員變量

四、const修飾引用


一、const的意義

const的意義是“只讀”。它修飾的變量不允許被修改。cconst只是一個修飾符,常見的幾種const用法:

1)const int ciDat:變量的值不允許被修改;

2) int const icData:同上;

3) const int * cipData:指針的值不允許被修改;

4) int *const  ipcData:指針的地址不允許被修改;

5) int const * icpData:指針的值不允許被修改;

6)int & const iData = icData; //地址不能被修改;

總結:const在誰後面誰就不可修改,const在首位就向後移動一位。

二、常量和宏定義的區別

1)處理方式不同,宏在預處理階段,常量在編譯運行階段使用;

2)常量有類型,宏沒有類型修飾,所以常量比宏一個類型檢查;

3)宏在預處理階段進行的是代碼替換,而常量是將值共別人使用,不會開闢空間複製值以共使用;兩者相比,宏需要的內存較多;

總結:const比#define好用!

三、const修飾類成員變量

1)const修飾類成員變量要在類構造中進行初始化;

2)const修飾的類成員變量的生命週期是類對象的生命週期,對象被創建時纔有這個常量。不是所有類實例的對象使用一個常量;若想所有類對象使用同一個常量使用枚舉:enum EM{ dataOne = 100, dataTwo = 200};但是枚舉值得大小有限,EM的大小是4字節。

四、const修飾引用

引用是另一個變量的別名,它本身就是一個常量。不能再讓引用成爲另一個變量的別名,因此只剩下地址是可變的。int & const iData = icData; 引用的地址不能被修改;

發佈了42 篇原創文章 · 獲贊 52 · 訪問量 6575
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章