溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

C++中的引用類型是什么

發(fā)布時(shí)間:2022-01-25 09:48:35 來源:億速云 閱讀:180 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要講解了“C++中的引用類型是什么”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“C++中的引用類型是什么”吧!

引用,顧名思義是某一個(gè)變量或?qū)ο蟮?strong>別名,對(duì)引用的操作與對(duì)其所綁定的變量或?qū)ο蟮牟僮魍耆葍r(jià)。

C++中的引用類型是什么

**注:**作為別名來說,一個(gè)變量不能只有別名,而沒有自己的真實(shí)姓名。

基本數(shù)據(jù)類型的引用

如下面的一段代碼:

實(shí)例
#includeusing namespace std;
{
   int a = 3;
   int &b = a;  //b就是a的引用,即b是a的一個(gè)別別名。
                //引用必須初始化,否則編譯會(huì)報(bào)錯(cuò)
   b = 10;
   coutreturn 0;
}

結(jié)構(gòu)體類型的引用

如下面的一段代碼:

實(shí)例
#includeusing namespace std;
//定義一個(gè)名叫Coor的結(jié)構(gòu)體,這是一個(gè)坐標(biāo)。
typedef struct
{
   int x;
   int y;
}Coor;

int main(void)
{
   Coor c1;    //定義一個(gè)結(jié)構(gòu)體變量,叫c1.
   Coor &c = c1;    //給c1起了一個(gè)別名叫c.
   c.x = 10;    //通過引用給結(jié)構(gòu)體變量的數(shù)據(jù)成員賦值
   c.y = 20;
   coutreturn 0;
}

指針類型的引用

指針類型的引用是引用當(dāng)中最為復(fù)雜,最難理解的一部分,同時(shí)在寫法形式上也有著與眾不同的地方。

定義:

類型 *&指針引用名 = 指針;

看個(gè)例子:

實(shí)例
#includeusing namespace std;

int main(void)
{
   int a = 10;    //定義一個(gè)整型的a變量,a的值為10。
   int *p = &a; //定義一個(gè)指向a變量的指針
   int *&q = p;    //定義一個(gè)指針的引用,即q為p的別名。 定義方法:類型 *&指針引用名 = 指針;
   *q = 20;    //把20賦給*q,相當(dāng)于是把20賦值給*p,也就相當(dāng)于把20賦值給a.
   coutreturn 0;
}

引用作函數(shù)參數(shù)

在沒有學(xué)習(xí)引用之前我們學(xué)習(xí) C 語言時(shí),學(xué)過這樣的經(jīng)典程序:

//將兩個(gè)值進(jìn)行交換
void fun( int *a,int *b) //形參為兩個(gè)整型的指針變量
{
   int temp = 0;    //定義一個(gè)臨時(shí)變量。良好的習(xí)慣是定義一個(gè)變量并初始化它;
   c = *a;    //將*a賦值給c;
   *a = *b;    //將*b賦值給*a;
   *b = c;    //再將c賦值給*b;這樣就完成了a、b數(shù)值的交換
}

int x = 10,y = 20;
fun(&x,&y); //在主函數(shù)中調(diào)用時(shí),傳過去的實(shí)參需要寫成 取地址a,取地址b,比較麻煩,也不易理解。

現(xiàn)在我們學(xué)習(xí)了引用,在完成同等功能時(shí)需要寫成什么樣子?

實(shí)例
void fun (int &a, int &b)    //形參為兩個(gè)整型的引用
{
   int temp = 0;
   temp = a;
   a = b;
   b = temp;
}

int x = 10,y = 20;
fun(x,y);    //在主函數(shù)中調(diào)用時(shí),實(shí)參傳過去后a是x的別名,b是y的別名。

感謝各位的閱讀,以上就是“C++中的引用類型是什么”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)C++中的引用類型是什么這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

c++
AI