1.使用
int i = 6;
const int &a = i;
i = 9;
在此時,a與i是同乙個變數,名稱不同
改變i的值,而不是用a改變
輸出:a=9,i=9
如果使用a改變值則編譯錯誤
2.當引用物件型別不同時
double i = 6.79;
const int &a = i;
i = 9.67;
輸出:
a=6,i=9.67
這種技術原理:
當a引用i時,建立了乙個臨時變數temp(不一定是叫這個變數名):
int temp = i;
//之後a引用臨時變數temp
const int &a = temp;
double i = 6.79;
const int& a = i;
i = 9.67;
std::cout << "&i = " << &i << std::endl << "&a = " << &a;
輸出結果:
&i = 003cfa3c
&a = 003cfa24
由此可以看出,實際上i與a不是同乙個變數
const引用與非const引用
const引用可讀不可改,與繫結物件是否為const無關,注意區分const引用與對const物件的引用 非const引用可讀可改,只可與非const物件繫結 const int ival 1024 const int refval ival ok both reference and object...
C 引用與const引用
1 在實際的程式中,引用主要被用做函式的形式引數 通常將類物件傳遞給乙個函式.引用必須初始化.但是用物件的位址初始化引用是錯誤的,我們可以定義乙個指標引用.1int ival 1092 2 int re ival ok 3int re2 ival 錯誤 4int pi ival 5int pi2 p...
const 與函式的關係
我們知道,如果要定義乙個唯讀的變數,可以這樣做const int a 5 那麼a也就一直等於5 今天遇到const和函式之間的問題,不太熟悉,因此了解了一下 第一種情況 int a const int b,const int c 在這個函式裡面,傳入的兩個引用 或者說是指標 的值都不能夠改變,對於非...