看了好多博主寫的關於const的總結,總是仁者見仁,智者見智,好多博主都多多少少的有一些錯誤,在這總結一下c++ const的用法,我的文章中也可能會有錯誤,望指正!
一.定義常量
(1)const修飾變數
int const a=5;
const int a=5;
這兩種定義方法是一樣的,都是不希望a的值發生改變
(2)const修飾指標
1.指標是常量不可變
char * const p;
2.指標指向的內容不可變
char const *p;
const char *p;
3.指標與指向的內容都不可變
const char *const p;
tips:
const在*左邊表示const修飾的是指標p指向的內容;
const在*右邊表示const修飾的是指標p;
(3)函式中使用const
1.const修飾函式引數,主要由兩種用法
a.const修飾指標指向的內容不變
void function(const char* p);
b.函式引數為引用,為了防止引數在函式體內被修改所以加上const
void function(const int& p);
2.const修飾函式返回值
const修飾函式返回值跟const修飾指標變數一樣,看const在*的左邊還是右邊;
(4)const修飾類相關
1.const修飾類的成員變數必須初始化
2.const修飾類的成員函式
幾點注意:
a.const成員函式只允許const物件來呼叫;
b.const成員函式可以訪問其類的所有成員變數無論是const還是非const;
c.非const物件不能呼叫const成員函式;
d.非const成員函式不允許呼叫const物件的任意資料;
e.在宣告乙個成員函式的時候,如果該成員函式不改變物件的變數,盡量宣告為const成員函式。
C const用法總結
const名叫常量限定符,用來限定特定變數,以通知編譯器該變數是不可修改的。使用const,可以避免在函式中對某些不應修改的變數造成可能的改動。非const 變數預設為extern,這樣就不可以被程式其它檔案訪問,要想const變數能夠被在其他的檔案中訪問,必須顯式地指定它為extern,如exte...
C const用法總結
一 c語言中 1.const修飾的是常變數,存放在 段,僅僅是在編譯階段看常變數是否做左值,其他處理和普通變數一樣 2.若修飾全域性變數,其屬性是global。二 c 中 1.const修飾的量稱為常量,在編譯階段將用到常量的地方替換成常量初始化的值 注 1 一定要初始化,因為要做替換 2 不能做左...
c const與 define的用法總結
1 const a.可以用來定義常量 修飾函式引數 修飾函式返回值等三個作用。編譯階段 b.被const修飾的東西都受到強制保護,可以預防意外的變動,能提高程式的健壯性。2 define define是乙個巨集定義,可以定義乙個全域性變數,在整個檔案中都可以使用,它只是乙個字元替換操作,不做型別檢查...