1.const & 與 & 作爲形參區別之一:
& 作爲形參時,實參不能用不可尋址的值,更不能進行類型轉換;
編譯器實現const &時,生成一個臨時對象,引用實際上指向該臨時對象,所以const & 可以用不可尋址的值,並能進行類型轉換;
例如:
double dv = 1234;
const int &ri = dv;
是正確的,編譯器將其轉換爲:
double dv = 1234;
int temp = dv;
const int &ri = temp;
1.const & 與 & 作爲形參區別之一:
& 作爲形參時,實參不能用不可尋址的值,更不能進行類型轉換;
編譯器實現const &時,生成一個臨時對象,引用實際上指向該臨時對象,所以const & 可以用不可尋址的值,並能進行類型轉換;
例如:
double dv = 1234;
const int &ri = dv;
是正確的,編譯器將其轉換爲:
double dv = 1234;
int temp = dv;
const int &ri = temp;