從c到c 引用與常引用

2021-10-04 16:26:20 字數 1821 閱讀 3999

下面的寫法定義了乙個引用,並將其初始化為引用某個變數。

型別名 & 引用名 = 某變數名;

int n =4;

int& r = n;

// r引用了 n, r的型別是 int &

某個變數的引用,等價於這個變數,相當於該變數的乙個別名

例:

int n =4;

int& r = n;

r =4

; cout << r;

//輸出 4

cout << n;

//輸出 4

n =5

;cout << r;

//輸出5

具體概念:

定義引用時一定要將其初始化成引用某個變數。

初始化後,它就一直引用該變數,不會再引用別的變數了

引用只能引用變數,不能引用常量和表示式。例:

double a =

4, b =5;

double

& r1 = a;

double

& r2 = r1;

// r2也引用 a

r2 =10;

cout << a << endl;

// 輸出 10

r1 = b;

// r1並沒有引用b

cout << a << endl;

//輸出 5

例一:

c語言中,如何編寫交換兩個整型變數值的函式?

void

swap

(int

* a,

int* b)

int n1, n2;

swap

(& n1,

& n2)

;// n1,n2的值被交換

有了c++的引用:

void

swap

(int

& a,

int& b)

int n1, n2;

swap

(n1,n2)

;// n1,n2的值被交換

例二:

引用作為函式的返回值

int n =4;

int&

setvalue()

intmain()

//輸出: 40

定義引用時**,前面加const關鍵字,即為「常引用」**

int n;

const

int& r = n;

r 的型別是 const int &

常引用注意:

不能通過常引用去修改其引用的內容:

例:

int n =

100;

const

int& r = n;

r =200

;//編譯錯

n =300

;// 沒問題

const t & 和t & 是不同的型別

t & 型別的引用或t型別的變數可以用來初始化const t & 型別的引用。

const t 型別的常變數和const t & 型別的引用則不能用來初始化t &型別的引用,除非進行強制型別轉換。

七 引用(從C到C )

內容參考於 21天學通c 第八版 1.示例1 include using namespace std intmain 執行結果 original 30 original is at address 006ff9c0 ref1 is at address 006ff9c0 ref2 is at add...

C 常引用的本質

引用作為形參時以常指標作為實現方式,而引用還有常引用的形式,顧名思義他的實現方式就是指向常量的常指標,即物件位址與值都不可修改,即 不過常引用有一些有意思的特性,被const修飾的物件的引用必須是常引用,一般引用繫結const物件時不合法的。根據錯誤提示可知,由於物件是被const修飾 的,表示不能...

C 引用與const引用

1 在實際的程式中,引用主要被用做函式的形式引數 通常將類物件傳遞給乙個函式.引用必須初始化.但是用物件的位址初始化引用是錯誤的,我們可以定義乙個指標引用.1int ival 1092 2 int re ival ok 3int re2 ival 錯誤 4int pi ival 5int pi2 p...