const與引用的關係

2021-09-26 07:08:23 字數 660 閱讀 1978

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 在這個函式裡面,傳入的兩個引用 或者說是指標 的值都不能夠改變,對於非...