C 中 const 的作用

2021-10-03 17:13:47 字數 882 閱讀 6408

1、const 用於定義常量:const定義的常量編譯器可以對其進行資料靜態型別安全檢查;

2、const 修飾函式形式引數:當輸入引數為使用者自定義型別和抽象資料型別時,應該將「值傳遞」改為「const & 傳遞」,可以提高效率。比較下面兩段**:

1

void

fun(a a);2

void

fun(a const

&a);

第乙個函式效率低。函式體內產生a型別的臨時物件用於複製引數a,臨時物件的構造、複製、析構過程都將消耗時間。而第二個函式提高了效率。用「引用傳遞」不需要產生臨時物件,節省了臨時物件的構造、複製、析構過程消耗的時間。但但光是引用有可能改變a,所以加const。

3、const 修飾函式的返回值:如給「指標傳遞」的函式返回值加 const ,則返回值不能被直接修改,且該返回值只能被賦值給加 const 修飾的同型別指標。例如:

1

const

char

*getchar

(void)2

char

*ch =

getchar()

;// error

3const

char

*ch =

getchar()

;// correct

4、const 修飾類的成員函式(函式定義體):任何不會修改資料成員的函式都應用 const 修飾,這樣,當不小心修改了資料成員或呼叫了非 const 成員函式時,編譯器都會報錯。const 修飾類的成員函式形式為:

1

intgetcount

(void

)const

;

c 中const的作用

const給人的第一印象就是定義常量。1 const用於定義常量。例如 const int n 100 const int m 200 這樣程式中只要用到 n m 就分別代表為整型100 200,n m 為一常量,在程式中不可改變。但有人說他程式設計時從來不用const定義常量。我相信。但他是不懂得...

c 中const的作用

const給人的第一印象就是定義常量。1 const用於定義常量。例如 const int n 100 const int m 200 這樣程式中只要用到 n m 就分別代表為整型100 200,n m 為一常量,在程式中不可改變。但有人說他程式設計時從來不用const定義常量。我相信。但他是不懂得...

c 中const的作用

const給人的第一印象就是定義常量。1 const用於定義常量。例如 const int n 100 const int m 200 這樣程式中只要用到 n m 就分別代表為整型100 200,n m 為一常量,在程式中不可改變。但有人說他程式設計時從來不用const定義常量。我相信。但他是不懂得...