作用
說明參考**
注意定義常量
常量不可修改
const int val = 5;
int const val = 5;
與#define巨集定義常量的區別:
(1)const常量具有型別,編譯器可以進行安全檢查,推薦使用。
(2)#define巨集定義只是簡單的字串替換。
修飾指標
(1)const int* p; //指標p指向的內容是常量,不可改變。
(2)int* const p; //指標本身是乙個常量,不可改變。
(3)const int* const p; //指標本身和指向的內容都是常量,都不可以改變。
區分方法,*p代表物件內容,p代表指標本身,看const修飾的是哪個。
在函式中使用const
修飾函式引數
void function(const int var); //表明引數在函式體內不能被修改,但此處沒有任何意義,var本身就是形參,在函式內不會改變。
包括傳入的形參是指標也是一樣。
(1)使用引用引數,可以防止建立副本,減少記憶體開銷,同時可以在函式中對引用引數修改,函式結束後,引用引數的修改仍然存在。
(2)如果為了防止對引用引數進行修改,可以對該引數加上const關鍵字。
修飾函式返回值
與修飾普通變數和指標意義差不多,很少使用。
在類中使用const
修飾類成員變數
class a
(1)成員常量不可被修改。
(2)只能在初始化列表中被賦值。
修飾類成員函式
class a
(1)常成員函式, 它不改變物件的成員變數. 代表唯讀函式,增加程式的可讀性。
(2)不能呼叫類中任何非const成員函式。
參考:
const關鍵字總結c
const成員函式只能呼叫const成員函式 const成員函式中不能改變成員變數的值,但是可以訪問所有變數 非const函式可以呼叫const函式 因為非const可能會修改屬性值,所以在const物件情況下,非const方法不能被呼叫,只能呼叫const方法 const函式可被非const過載,...
關鍵字const的使用總結
1.const是一種型別修飾符,用於說明永不改變的物件,const物件一旦定義就無法再改變,所以const物件必須初始化。2.頂層const與底層const區別 位於 左側為底層const,位於 右側為頂層const 頂層const意味著記憶體本身儲存的資料是常量,如int const a 3 即變...
關鍵字的用法 C 中const關鍵字用法總結
ark2000 看完了c primer的基礎篇,對const還是有點陌生,在這裡小小地總結一下吧。在變數的定義前加上const修飾符即可完成const物件的建立。const int val 5 const變數的值不能改變。val 5 error assignment of read only var...