新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
簡單講解一下C++引用類型
引用的定義:引用稱為別名(alias),它用作對象的另一個名字。
通過引用我們間接地操縱對象,使用方式類似于指針。但是不需要指針的語法在實際的程序中引用主要被用作函數(shù)的形式參數(shù)——通常將類對象傳遞給一個函數(shù)。

創(chuàng)新互聯(lián)是一家以成都網(wǎng)站建設公司、網(wǎng)頁設計、品牌設計、軟件運維、營銷推廣、小程序App開發(fā)等移動開發(fā)為一體互聯(lián)網(wǎng)公司。已累計為地磅秤等眾行業(yè)中小客戶提供優(yōu)質的互聯(lián)網(wǎng)建站和軟件開發(fā)服務。
定義:引用:就是變量的一個別名。
注:作為別名來說,一個變量不能只有別名,而沒有自己的真實姓名。
基本數(shù)據(jù)類型的引用
如下面的一段代碼:
實例
#include
using namespace std;
{
int a = 3;
int &b = a; //b就是a的引用,即b是a的一個別別名。
//引用必須初始化,否則編譯會報錯
b = 10;
coutreturn 0;
}
結構體類型的引用
如下面的一段代碼:
實例
#include
using namespace std;
//定義一個名叫Coor的結構體,這是一個坐標。
typedef struct
{
int x;
int y;
}Coor;
int main(void)
{
Coor c1; //定義一個結構體變量,叫c1.
Coor &c = c1; //給c1起了一個別名叫c.
c.x = 10; //通過引用給結構體變量的數(shù)據(jù)成員賦值
c.y = 20;
coutreturn 0;
}
指針類型的引用
指針類型的引用是引用當中最為復雜,最難理解的一部分,同時在寫法形式上也有著與眾不同的地方。
定義:
類型 *&指針引用名 = 指針;
看個例子:
實例
#include
using namespace std;
int main(void)
{
int a = 10; //定義一個整型的a變量,a的值為10。
int *p = &a; //定義一個指向a變量的指針
int *&q = p; //定義一個指針的引用,即q為p的別名。 定義方法:類型 *&指針引用名 = 指針;
*q = 20; //把20賦給*q,相當于是把20賦值給*p,也就相當于把20賦值給a.
coutreturn 0;
}
引用作函數(shù)參數(shù)
在沒有學習引用之前我們學習 C 語言時,學過這樣的經典程序:
//將兩個值進行交換
void fun( int *a,int *b) //形參為兩個整型的指針變量
{
int temp = 0; //定義一個臨時變量。良好的習慣是定義一個變量并初始化它;
c = *a; //將*a賦值給c;
*a = *b; //將*b賦值給*a;
*b = c; //再將c賦值給*b;這樣就完成了a、b數(shù)值的交換
}
int x = 10,y = 20;
fun(&x,&y); //在主函數(shù)中調用時,傳過去的實參需要寫成 取地址a,取地址b,比較麻煩,也不易理解。
現(xiàn)在我們學習了引用,在完成同等功能時需要寫成什么樣子?
實例
void fun (int &a, int &b) //形參為兩個整型的引用
{
int temp = 0;
temp = a;
a = b;
b = temp;
}
int x = 10,y = 20;
fun(x,y); //在主函數(shù)中調用時,實參傳過去后a是x的別名,b是y的別名。
文章標題:簡單講解一下C++引用類型
本文URL:http://www.dlmjj.cn/article/djieeph.html


咨詢
建站咨詢
