(1)const變數不是常數,是乙個變數(左值),只是你不能修改它;
(2)在定義該const變數時,必須需要對它進行初始化;
(3)對指標來說,可以指定指標本身為const,也可以指定指標所指的資料為const,或二者同時指定為const;
(4)在乙個函式宣告中,const可以修飾形參,表明它是乙個輸入引數,在函式內部不能改變其值;
(5)對於類的成員函式,若指定其為const型別,則表明其是乙個常函式,不能修改類的成員變數,也就是指定this為const,靜態成員函式不能宣告為const;const物件只能呼叫類的const成員函式;
(6)對於類的成員函式,有時候必須指定其返回值為const型別,以使得其返回值不為「左值」。例如:操作符的過載。
(7)對於const定義的全域性變數,其預設的作用域是檔案區域性作用域,需要加extern修 飾才被其他檔案使用;
(8)當const變數通過常量表示式進行初始化時,這個const變數就是常量表示式;
(9)static資料成員只能在類外進行初始化和定義,但是如果const static資料成員用常量表示式進行賦值時可以在類內進行初始化,但是仍然需要在類外進行定義;
(10)當const和non-const成員函式有著實質等價的實現時,令non-const版本呼叫const 版本可避免**重複-因為const成員函式不能呼叫非const成員函式;
(11)void fun(const int i);和void fun(int i)這兩個函式在宣告時不進行區別,是相同的,因為既可以給它們傳遞const實參,也可以給它們傳遞非const實參;
(12)非const的引用只能用同型別的物件初始化,而const的引用還可以用右值或者具有預設轉換的型別進行賦值。
關鍵字const詳解
關鍵字const 1 用關鍵字const定義變數指所定義的常量。即恆定的變數,即不可改變的變數。例 const int i 10 此時 i 就是乙個整型的常量,其值不能改變。在c 中如果用const定義乙個物件,那麼物件中的成員變數就是常數,不能改變 只能為初始化的值 如果用const定義類中的成員...
關鍵字const用法詳解
摘自 物件導向是c 的重要特性,但是c 在c的基礎上新增加的幾點優化也是很耀眼的 以下幾點很重要,學不好後果會很嚴重 const 限定符 1.宣告變數只能被讀 const int i 5 int j 0 i j 非法,導致編譯錯誤 j i 合法 2.必須初始化 const int i 5 合法 co...
c關鍵字const詳解
最近被人問了個技術問題,感觸很深,就是關於const關鍵字的基本用法判斷,看到這個問題我其實挺開心的,因為去年我在書上記錄過c 語言的幾個常用關鍵字的基本用法,最近用的少了,都有點生疏遺忘了,技術就是一把容易生鏽的dao,得經常磨磨才不怕問 1.const修飾變數 const 關鍵字用的比較多的用法...