C 中的const的使用

2021-07-28 18:52:18 字數 1156 閱讀 2645

const 意為常數,總的來說就是被const修飾過的數無法進行修改。

好處:1、保護資料,增強**的健壯性。 

2、便於進行型別檢查。     const常量有資料型別,而巨集常量沒有資料型別。編譯器可以對前者進行型別安全檢查,而對後者只進行字元替換,沒有型別安全檢查,並且在字元替換時可能會產生意料不到的錯誤。

3、可以節省空間,避免不必要的記憶體分配。

4、提高了效率。       編譯器通常不為普通const常量分配儲存空間,而是將它們儲存在符號表中,這使得它成為乙個編譯期間的常量,沒有了儲存與讀記憶體的操作,使得它的效率也很高。

用法:1、const用於將某個變數變為常值,使其在接下來的程式中無法再次被更新,否則編譯器將報錯。

ps:如果要對該變數進行操作,只能在初始化時對其進行操作。

int f(const int a)//a在該函式中將無法進行修改。

int main()

const int *p;//該處p指標的值也無法進行更新。
2、用於在類中宣告該函式是是上個函式的過載。

class p

3、常引用。格式為

const     型別識別符號  &  引用名;

常引用所引用的物件不會被更新,並且如果被引用量是常量那麼只能通過常引用引用。

void f(const int &a,const int &b)//a,b所被引用的值在該函式中無法被更新。
ps:

const 轉換為非 const的方法:

採用const_cast 進行轉換。  

用法:const_cast (expression) 

該運算子用來修改型別的const或volatile屬性。除了const 或volatile修飾之外, type_id和expression的型別是一樣的。

常量指標被轉化成非常量指標,並且仍然指向原來的物件;

常量引用被轉換成非常量引用,並且仍然指向原來的物件;

常量物件被轉換成非常量物件。

編譯器通常不為普通const常量分配儲存空間,而是將它們儲存在符號表中,這使得它成為乙個編譯期間的常量,沒有了儲存與讀記憶體的操作,使得它的效率也很高

C中CONST的使用

基本解釋 const是乙個c語言的關鍵字,它限定乙個變數不允許被改變。使用const在一定程度上可以提高程式的健壯性,另外,在 別人 的時候,清晰理解const所起的作用,對理解對方的程式也有一些幫助。雖然這聽起來很簡單,但實際上,const的使用也是c語言中乙個比較微妙的地方,微妙在何處呢?請看下...

c中const的使用

const關鍵字 int const p和const int p的功能一樣,都是p指向的物件不能通過p指標改變,p可以變 即 p為常量,不可以改變,而指標p為變數可以更改。int a 1 int b 2 int const p1 p1 a p b 可行 p1 3 不可以 int const p宣告中...

C中CONST的使用

基本解釋 const是乙個c語言的關鍵字,它限定乙個變數不允許被改變。使用const在一定程度上可以提高程式的健壯性,另外,在 別人 的時候,清晰理解const所起的作用,對理解對方的程式也有一些幫助。雖然這聽起來很簡單,但實際上,const的使用也是c語言中乙個比較微妙的地方,微妙在何處呢?請看下...