新聞中心
引用,顧名思義是某一個(gè)變量或?qū)ο蟮?strong>別名,對(duì)引用的操作與對(duì)其所綁定的變量或?qū)ο蟮牟僮魍耆葍r(jià),下面重點(diǎn)為大家詳細(xì)講解一下C++中的引用類型。

創(chuàng)新互聯(lián)建站服務(wù)項(xiàng)目包括黃石網(wǎng)站建設(shè)、黃石網(wǎng)站制作、黃石網(wǎng)頁制作以及黃石網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,黃石網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到黃石省份的部分城市,未來相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
**注:**作為別名來說,一個(gè)變量不能只有別名,而沒有自己的真實(shí)姓名。
基本數(shù)據(jù)類型的引用
如下面的一段代碼:
實(shí)例
#include
using 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í)例
#include
using 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í)例
#include
using 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++中的引用類型
分享路徑:http://www.dlmjj.cn/article/coijsje.html


咨詢
建站咨詢
