3 const 基本用法

2021-08-22 04:25:36 字數 1141 閱讀 5550

#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 重...