ark2000
看完了c++ primer的基礎篇,對const還是有點陌生,在這裡小小地總結一下吧。
在變數的定義前加上const修飾符即可完成const物件的建立。
const int val = 5;
const變數的值不能改變。
val = 5; //error:assignment of read-only variable 'val'
需要注意的是,const變數必須初始化,因為一旦定義了const變數,其值便無法改變,故必須有初始值。
const int val2; //error:uninitialized const 'val2'
預設狀態下,const物件僅在檔案內有效
const int val3 = 5;
int val4 = 6;
//...
extern const int val3;
extern int val4;
cout 如果需要多個檔案共享const變數,則只需在其宣告和定義前加上關鍵字extern即可。
extern const int val3 = 5;
int val4 = 6;
//...
extern const int val3;
extern int val4;
cout 頂層const表示指標本身是個常量
底層const表示指標所指的物件是乙個常量
void fcn(const int i)
//fcn能夠讀取i,但不能修改i
函式設計時,對於較複雜的非內建型別應該盡量使用常量引用,值傳遞會造成不必要的浪費。
void func(string&);
const string str;
func(str);//error
func("something")//error
如上例,如果只是想使用字串的值,則形參型別應為const string&,否則會限制所能接受形參的型別,並會給人一種誤導,即函式可以修改它的實參的值。
使用const限定符修飾類的物件,則在該物件的整個生命週期中,其資料成員永遠不會被更改。
const class_name object;
在類的函式成員宣告中,如果在引數列表後面加上const,就說明這個函式不能修改物件的任何資料成員(mutable成員除外,其值總是能夠被修改)。const實際上修飾隱式傳入函式的this指標。
struct a //error
private:
int val;
}
●編號558,輸入編號直達本文
●輸入m獲取文章目錄
c語言與c++程式設計
分享c/c++技術文章
C 中const關鍵字的用法
最近在找工作,在這裡總結一下自己遇到的問題,希望能對大家有所幫助!歡迎討論!如有錯誤,歡迎批評指正!首先是const關鍵字,直接上 這個工程主要實現const關鍵字的一些基本用法 include include using namespace std 用於fun1的引數可以很大,使用引用傳值可以避免...
C 中關鍵字const的用法
const是c 的乙個關鍵字,現在對它的用法做乙個小結。在c中,如果要頻繁的使用某乙個常量,可以利用巨集定義來利用乙個符號定義這個常量,以後用到這個常量的地方就用這個符號代替即可,這樣修改這個常量的值也方便了很多。在c 中,我們可以利用const替代巨集定義,具體 如下 define m 15 co...
const關鍵字用法
1 const常量 如const int max 100 優點 const常量有資料型別,而巨集常量沒有資料型別。編譯器可以對前者進行型別安全檢查,而對後者只進行字元替換,沒有型別安全檢查,並且在字元替換時可能會產生意料不到的錯誤 邊際效應 2 const修飾類的資料成員 class a const...