Const 引用
嚴格來說,“const 引用”的意思是“指向 const 對象的引用”。類似地,程序員使用術語“非 const 引用”表示指向非 const 類型的引用。
const 引用可以初始化為不同類型的對象或者初始化為右值
eg:
int i = 10;
const &pi1 = 11;
const &pi2 = i + pi1;
cosnt &pi3 = 11 + i + pi1;
同樣的初始化對於非 const 引用卻是不合法的,而且會導致編譯時錯誤。
why:
對於不同類型的 const 引用:
double dpi = 3.14;
int &pi = dpi; //error
const int &pi = dpi; //ok
編譯器會把這些代碼轉換成如以下形式的編碼:
int tmp = dpi;
const int &pi = tmp;
所以當修改了dpi 的值以後,pi 的值仍為初始值:
makefile:
根據自己需求修改 SRC OBJ
輸出:
3.14 3
4.30 3