const是c++的乙個關鍵字,現在對它的用法做乙個小結。
在c中,如果要頻繁的使用某乙個常量,可以利用巨集定義來利用乙個符號定義這個常量,以後用到這個常量的地方就用這個符號代替即可,這樣修改這個常量的值也方便了很多。在c++中,我們可以利用const替代巨集定義,具體**如下:
#define m 15
const
int n =
15;
const修飾的變數只能在定義位置修改值,其他地方不能對其值進行更改。
注:巨集定義是一種不做任何語法性檢查的替換,而const可以進行型別檢查。
首先要明確,在c++中,引數傳遞可以傳值,也可以傳引用。過去c中可以傳指標,而傳引用底層就是傳指標的效果。所以,當引數所佔記憶體較大時,傳引用相較傳值而言,就高效了很多。所以,c++中,推薦使用傳引用操作。而在傳引用時,如果不希望函式改變傳入的實參,就可以新增關鍵字const。示例**:
class complex
;
同函式引數一樣,在c++中,函式返回值傳遞可以傳值,也可以傳引用。類似,c++中,推薦使用傳引用操作。而在傳引用時,如果不希望函式返回值被改變,就可以新增關鍵字const。示例**:
const
int&
add(
int,
int&
);
在類中,如果乙個函式不會改變類的資料,那麼可以把這個函式宣告成常量成員函式。示例**:
class complex
double
imag()
const..
.private:
double re, im;
};
const表示該函式不會改變類中的資料。為什麼最好要加const呢?
const complex c1(2
,1);
cout << c1.
real()
;cout << c1.
imag()
;
原因是假如我們在程式中這樣定義了乙個物件並且呼叫這兩個函式,而這假設類中兩個函式沒有加const,那麼編譯器就會報錯。
下面就const變數和const函式之間使用規則進行說明。
const變數可以呼叫const成員函式和non-const成員函式,但non-const變數只能呼叫non-const成員函式,不能呼叫const成員函式。
關鍵字的用法 C 中const關鍵字用法總結
ark2000 看完了c primer的基礎篇,對const還是有點陌生,在這裡小小地總結一下吧。在變數的定義前加上const修飾符即可完成const物件的建立。const int val 5 const變數的值不能改變。val 5 error assignment of read only var...
C 中const關鍵字的用法
最近在找工作,在這裡總結一下自己遇到的問題,希望能對大家有所幫助!歡迎討論!如有錯誤,歡迎批評指正!首先是const關鍵字,直接上 這個工程主要實現const關鍵字的一些基本用法 include include using namespace std 用於fun1的引數可以很大,使用引用傳值可以避免...
const關鍵字用法
1 const常量 如const int max 100 優點 const常量有資料型別,而巨集常量沒有資料型別。編譯器可以對前者進行型別安全檢查,而對後者只進行字元替換,沒有型別安全檢查,並且在字元替換時可能會產生意料不到的錯誤 邊際效應 2 const修飾類的資料成員 class a const...