const 使用一二
Primer C++ 練習題4.20:
int i = -1;
const int ic = i;
對于這個,一開始認為,ic 作為const 類型變量,定義時應該給其賦常值,而此處給的是變量i,因此編譯時會報錯,但是經過驗證,這個理解是錯誤的。
為此總結const的一些點:
1)const型變量在定義時必須初始化,但不一定非要用常量來初始化(如上);
2)const對象默認為文件的局部變量,通過指定const變量為extern,就可以在整個程序中訪問const對象:
//file_1.cc
//define and initialize a const that is accessible to other files
extern const int bufSize = fcn();
//file_2.cc
extern const int bufSize; //uses bufSize defined in file_1
for(int index = 0; index != bufSize; ++index)
// ..
3)const引用可以綁定到不同但相關的類型的對象或綁定到右值,但非const引用只能綁定到同類型的對象。
const int &ri = 0; //綁定到右值
// 綁定到不同但相關類型
double i;
cosnt int &ref_i = i;
浙公網安備 33010602011771號