關鍵字的用法 C 中const關鍵字用法總結

2021-10-14 17:58:24 字數 1779 閱讀 3635

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...