#includeusing namespace std;
/** * @brief main
* @return
* 1、常量指標:表示這個指標是乙個指向常量的指標(變數)。指標指向的物件是常量,那麼這個物件不能被更改。
* const int * c=&m;或者 int const * c=&m;
* * 2、指標常量:指標變數不可以修改,但是它指向的記憶體空間的值可以修改。
* int * const d=&n;
* * 3、指向常量的常量指標:指標變數不可以修改,並且指向的記憶體空間也不可以修改。
* const int * const d=&n;
* * 4、c語言的const 是乙個冒牌貨,可以通過指標,進行修改。在c++中不可以修改。在c++中是乙個真正的常量。
* 好處:
* 1、指標做函式引數可以提高**的可讀性,減少bug
* 2、清楚的分清引數的輸入和輸出的特性。
* * 結論:
* 1、在c 語言中,編譯器會給const 修飾的成員變數分配記憶體空間。
* 2、在c++中,可能分配記憶體空間,也有可能不分配記憶體空間。
* 當const 作為 全域性變數。供其他檔案使用的時候分配記憶體。
* 當使用取位址符號的時候取const 常量位址的時候,會分配記憶體空間。int *p=(int *)&a; 會給 a分配乙個記憶體空間,並且p指向這個記憶體空間。
* 其餘的時候const 是被儲存在 符號表中,不會分配記憶體空間。
* */
int main()
/** * @brief opearnum
* @param p
* @return
* 指標常量
* 指標變數本身不能夠被修改
*/int opearnum2( teacher * const p)
/** * @brief opearnum
* @param p
* @return
* 指向常量的常量指標
* 指標變數本身不能夠被修改,指向的記憶體空間也不能夠被修改。
*/int opearnum3( const teacher * const p)
3 const物件和成員函式
使用關鍵字const來說明物件,這樣的物件成為常物件,它的資料成員值在整個生存週期不能改變,所以常物件必須進行初始化,而且不能更新。格式如下 const 類名 物件名 初值 常物件只能呼叫常成員函式。常成員函式格式如下 型別說明符 函式名 參數列 const 其中,關鍵字const加在參數列後面,它...
const基本用法
const定義常變數後,該變數沒有寫許可權,只有讀許可權 const用於定義常變數時,要進行初始化 例如 const int a 10 合法 而const int a 非法 資料型別對於const而言是透明的 例如 const int a 10 等價於 int const a 10 const in...
c 重學筆記3 const修飾返回值
喜歡這篇文章嗎?喜歡的話去看博主的置頂部落格,即可依據分類找到此文章的原版得到更好的體驗,title c 重學筆記3 const修飾返回值 mathjax true date 2020 03 13 15 58 31 categories c 重學筆記 tags c 重學筆記 keywords c 重...