C 回顧(1) const的用法

2021-07-13 01:58:12 字數 1356 閱讀 9342

說明:const是屬於左結合的型別修飾符,

這裡只講怎麼使用。

1、const 變數

//定義const變數  常量

const int value1 = 1; // value1不可變

int const value2 = 2; // value2不可變

2、const與指標 

const int * p_str1 ;    // *p_str1 不可變    p_str1是可以改變的

int * const p_str2 ; // p_str1 不可變 *p_str1是可以改變的

const int * const p_str3;// p_str1 不可變 *p_str1 不可變

上述中:const 的指標可以接受 const指標和非const指標, 但非const的指標 只能接受非const的指標,所以 const指標的能力更強大些。

3、函式中的const

1)、const修飾函式的引數

void function_1(const int value);     // value 的值不可改變

void function_2(const int * p_value); // (*p_value) 的值不可改變(注意括號)

void function_3( char * const p_str); // p_str的值不可改變(這裡的p_str是指標變數)

2)、const修飾函式的返回值

const int function_4();     // 這裡無意義

const int * function_5(); // const int * p = function_5();

int * const function_6() // int * const p = function_6();

以上c/ c++均可。

以下屬於c++內容:

4、const與引用

5、類相關的const

class a

; int b()

; int c() const // 修飾成員函式

;private:

const int value; // 修飾成員變數

};

const a a;

a.b(); // error

a.c(); // ok

// 所以 const物件只能呼叫const成員函式

C 學習路線1 const用法

const說明的型別是常型別,而且定義後不能被更改。const常量具有型別,編譯器可以進行安全檢查 define巨集定義沒有資料型別,只是簡單的字串替換,不能進行安全檢查 可以節省空間,避免不必要的記憶體分配 1.對於指向常量的指標,不能通過指標來修改物件的值。2.不能使用void 指標儲存cons...

C 學習筆記1 const引用

const引用可以用不同型別的物件初始化 只要能從一種型別轉換到另一種型別即可 也可以是不可定址的值,如文字常量,例如 同樣的初始化對於非const引用是不合法的,將導致編譯錯誤。原因如下。引用在內部存放的是乙個物件的位址,它是該物件的別名。對於不可定址的值,如文字常量,以及不同型別的物件,編譯器為...

C 程式設計之關鍵字 1 Const

1 c 中const有什麼用?不要一聽到const就說是常量,這樣給考官一種在和乙個外行交談的感覺。應該說 const 修飾的內容不可改變就行了,定義常量只是一種使用方式而已,還有const引數,const資料成員,const成員函式,const返回值等,被const修飾的東西都受到強制保護,可以預...