最近2018中文字幕在日韩欧美国产成人片_国产日韩精品一区二区在线_在线观看成年美女黄网色视频_国产精品一区三区五区_国产精彩刺激乱对白_看黄色黄大色黄片免费_人人超碰自拍cao_国产高清av在线_亚洲精品电影av_日韩美女尤物视频网站

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
【C++】C++引用-創(chuàng)新互聯(lián)
文章目錄
  • 前言
    • 一、引用的概念
    • 二、引用的特性
    • 三、常引用
    • 四、引用的使用場(chǎng)景
      • 1.做參數(shù)
      • 2.做返回值
    • 五、性能比較
      • 1.傳值、傳引用效率比較
      • 2.值和引用的作為返回值類(lèi)型的性能比較
    • 六、引用和指針的區(qū)別
    • 七、總結(jié)

成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),鳳翔企業(yè)網(wǎng)站建設(shè),鳳翔品牌網(wǎng)站建設(shè),網(wǎng)站定制,鳳翔網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷(xiāo),網(wǎng)絡(luò)優(yōu)化,鳳翔網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專(zhuān)業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。前言

對(duì)于習(xí)慣使用C進(jìn)行開(kāi)發(fā)的朋友們,在看到c++中出現(xiàn)的&符號(hào),可能會(huì)犯迷糊,因?yàn)樵贑語(yǔ)言中這個(gè)符號(hào)表示了取地址符,取地址符常常用來(lái)用在函數(shù)傳參中的指針賦值。引用是C++引入的新語(yǔ)言特性,是C++常用的一個(gè)重要內(nèi)容之一。在C++中它卻有著不同的用途,掌握C++的&符號(hào),是提高代碼執(zhí)行效率和增強(qiáng)代碼質(zhì)量的一個(gè)很好的辦法。

一、引用的概念

引用不是新定義一個(gè)變量,而是給已存在變量取了一個(gè)別名,編譯器不會(huì)為引用變量開(kāi)辟內(nèi)存空間,它和它引用的變量**共用同一塊內(nèi)存空間。

引用的聲明方法:類(lèi)型標(biāo)識(shí)符 &引用名=目標(biāo)變量名;

類(lèi)型& 引用變量名(對(duì)象名) =引用實(shí)體;

引用的符號(hào)和C語(yǔ)言中取地址的符號(hào)一樣為&,在某類(lèi)型名的后面加上引用符號(hào)(&)就成為了引用類(lèi)型,設(shè)計(jì)引用的目的是簡(jiǎn)化指針的使用,但是C++中引用不能完全替代指針,引用不能引用多個(gè)對(duì)象,所以C++也沒(méi)有擺脫指針,JAVA則完全擺脫了指針。在C++中,引用和指針相輔相成,引用的底層是通過(guò)指針實(shí)現(xiàn)的。

#includeusing namespace std;

int main()
{int a = 10;
	int& ra = a;//<====定義引用類(lèi)型
	printf("%p\n", &a);
	printf("%p\n", &ra);
	return 0;
}

在這里插入圖片描述

注意:引用類(lèi)型必須和引用實(shí)體是同種類(lèi)型的

【說(shuō)明】

? (1)&在此不是求地址運(yùn)算,而是起標(biāo)識(shí)作用。

(2)類(lèi)型標(biāo)識(shí)符是指目標(biāo)變量的類(lèi)型。

(3)聲明引用時(shí),必須同時(shí)對(duì)其進(jìn)行初始化。

(4)引用聲明完畢后,相當(dāng)于目標(biāo)變量名有兩個(gè)名稱(chēng),即該目標(biāo)原名稱(chēng)和引用名,且不能再把該引用名作為其他變量名的別名。ra=1; 等價(jià)于 a=1;

(5)聲明一個(gè)引用,不是新定義了一個(gè)變量,它只表示該引用名是目標(biāo)變量名的一個(gè)別名,它本身不是一種數(shù)據(jù)類(lèi)型,因此引用本身不占存儲(chǔ)單元,系統(tǒng)也不給引用分配存儲(chǔ)單元。故:對(duì)引用求地址,就是對(duì)目標(biāo)變量求地址。&ra與&a相等。

(6)不能建立數(shù)組的引用。因?yàn)閿?shù)組是一個(gè)由若干個(gè)元素所組成的集合,所以無(wú)法建立一個(gè)數(shù)組的別名。

二、引用的特性

1.引用在定義時(shí)必須初始化

2.一個(gè)變量可以有多個(gè)引用

3.引用一旦引用一個(gè)實(shí)體,再不能引用其他實(shí)體

int main()
{int a = 10;
   // int& ra;   // 該條語(yǔ)句編譯時(shí)會(huì)出錯(cuò)
   int& ra = a;
   int& x = a;
   int& y = a;
   
    x++;
    y++;
    a++;
   printf("%p %p %p\n", &a, &ra, &rra);  
}

在這里插入圖片描述

三、常引用

常引用聲明方式:const 類(lèi)型標(biāo)識(shí)符 &引用名=目標(biāo)變量名;

用這種方式聲明的引用,不能通過(guò)引用對(duì)目標(biāo)變量的值進(jìn)行修改,從而使引用的目標(biāo)成為const,達(dá)到了引用的安全性。和const修飾變量一樣,被const修飾的引用只能夠讀,而不能夠?qū)?,即不能修改引用變量的值?/p>

void TestConstRef()
{const int a = 10;
    //int& ra = a;   // 該語(yǔ)句編譯時(shí)會(huì)出錯(cuò),a為常量
    const int& rra = a;
    // int& b = 10; // 該語(yǔ)句編譯時(shí)會(huì)出錯(cuò),b為常量
    const int& b = 10;
    double d = 12.34;
    //int& rd = d; // 該語(yǔ)句編譯時(shí)會(huì)出錯(cuò),類(lèi)型不同
    const int& rd = d;
}

對(duì)于a來(lái)說(shuō),a的權(quán)限是只讀,而ra的權(quán)限是讀寫(xiě)。所以a的權(quán)限變大大了,所以編譯會(huì)報(bào)錯(cuò),對(duì)于rra來(lái)說(shuō),他的權(quán)限是只讀,和a的權(quán)限一樣,屬于權(quán)限的平移,所以可行;對(duì)于int& b = 10來(lái)說(shuō),右邊的10為常量,常量只能進(jìn)行讀操作,而左邊b的權(quán)限是可讀可寫(xiě),所以權(quán)限放大了,編譯會(huì)報(bào)錯(cuò);所以需要左邊的前面需要用const來(lái)修飾,對(duì)于double d = 12.34;我們用int& rd = d;因?yàn)轭?lèi)型轉(zhuǎn)換會(huì)將12.34轉(zhuǎn)換成整形的臨時(shí)變量給int& d;臨時(shí)變量具有常性,所以權(quán)限放大了,編譯會(huì)報(bào)錯(cuò),所以需要加const進(jìn)行修飾。

【注意】

1.權(quán)限可以縮小和平移,但不可以放大。一個(gè)只讀的變量,不能用可讀可寫(xiě)的變量做引用,這樣權(quán)限放大了。這里的權(quán)限指的是讀和寫(xiě)的權(quán)限,并且只針對(duì)于指針和引用。

2.對(duì)于上面的代碼,int& b = 10;數(shù)字10只存在于指令中,在內(nèi)存中并不會(huì)占用空間,所以我們對(duì)其進(jìn)行引用時(shí),10會(huì)先賦給一個(gè)臨時(shí)變量,所以我們對(duì)這個(gè)臨時(shí)變量進(jìn)行引用,而臨時(shí)變量具有常性,即臨時(shí)變量是只讀的,使用我們需要用常引用這個(gè)臨時(shí)變量。

四、引用的使用場(chǎng)景 1.做參數(shù)

以前的C語(yǔ)言中函數(shù)參數(shù)傳遞是值傳遞,如果有大塊數(shù)據(jù)作為參數(shù)傳遞的時(shí)候,采用的方案往往是指針,因?yàn)?這樣可以避免將整塊數(shù)據(jù)全部壓棧,可以提高程序的效率。但是現(xiàn)在(C++中)又增加了一種同樣有效率的選擇(在某些特殊情況下又是必須的選擇)。

引用做參數(shù)的好處:

1.減少拷貝,提高效率。在C語(yǔ)言中我們知道,形參是實(shí)參的臨時(shí)拷貝,那么就會(huì)有時(shí)間和空間的消耗,而引用是實(shí)參的別名,相當(dāng)于我們對(duì)實(shí)參進(jìn)行操作,省去了數(shù)據(jù)拷貝的過(guò)程。

2.引用可以直接改變實(shí)參,作為輸入型參數(shù)的時(shí)候就不需要傳遞指針;輸出型參數(shù),函數(shù)中修改形參,實(shí)參也修改了。

void Swap1(int& left, int& right)
{int tmp = left;
	left = right;
	right = tmp;
}

void Swap2(int left, int right)
{int tmp = left;
	left = right;
	right = tmp;
}

int main()
{int a = 1, b = 2;
	Swap1(a, b);
	Swap2(a, b);
    return 0;
}

在這里插入圖片描述

? (1)傳遞引用給函數(shù)與傳遞指針的效果是一樣的。這時(shí),被調(diào)函數(shù)的形參就成為原來(lái)主調(diào)函數(shù)中的實(shí)參變量或?qū)ο蟮囊粋€(gè)別名來(lái)使用,所以在被調(diào)函數(shù)中對(duì)形參變量的操作就是對(duì)其相應(yīng)的目標(biāo)對(duì)象(在主調(diào)函數(shù)中)的操作。

(2)使用引用傳遞函數(shù)的參數(shù),在內(nèi)存中并沒(méi)有產(chǎn)生實(shí)參的副本,它是直接對(duì)實(shí)參操作;而使用一般變量傳遞函數(shù)的參數(shù),當(dāng)發(fā)生函數(shù)調(diào)用時(shí),需要給 形參分配存儲(chǔ)單元,形參變量是實(shí)參變量的副本;如果傳遞的是對(duì)象,還將調(diào)用拷貝構(gòu)造函數(shù)。因此,當(dāng)參數(shù)傳遞的數(shù)據(jù)較大時(shí),用引用比用一般變量傳遞參數(shù)的效 率和所占空間都好。

(3)使用指針作為函數(shù)的參數(shù)雖然也能達(dá)到與使用引用的效果,但是,在被調(diào)函數(shù)中同樣要給形參分配存儲(chǔ)單元,且需要重復(fù)使用"*指針變量名"的 形式進(jìn)行運(yùn)算,這很容易產(chǎn)生錯(cuò)誤且程序的閱讀性較差;另一方面,在主調(diào)函數(shù)的調(diào)用點(diǎn)處,必須用變量的地址作為實(shí)參。而引用更容易使用,更清晰。

引用傳參,形參是實(shí)參的別名,不需要拷貝,也不開(kāi)辟空間。

傳值或者傳址傳參,要發(fā)生臨時(shí)拷貝,形參的實(shí)參的拷貝。

//減少拷貝
//一般引用做參數(shù)都用const引用

void Func(const int& x)
{}

int main()
{int a = 0;
	//權(quán)限平移
	int& ra = a;

	//指針和引用中賦值中,權(quán)限可以縮小,但不可以放大
	const int b = 1;

	//拷貝
	a = b;

	//我引用你,權(quán)限放大,不行
	//int& rb = b;


	//我引用你,我的權(quán)限縮小,可以
	const int& rra = a;
	//rra++;
	a++;


	//權(quán)限平移
	const int& rrb = b;

	Func(a);
	Func(b);
	Func(rra);
	Func(rrb);
	return 0;
}

指針和引用中賦值中,權(quán)限可以縮小,但不可以放大。

const引用做參數(shù),有沒(méi)有const修飾的變量都可以傳遞,這里只有權(quán)限平移或縮小。

常引用做參數(shù):

我們知道引用做參數(shù)可以提高效率以及可以直接改變實(shí)參,那么如果我們只想提高效率而不改變參數(shù)可不可以用引用呢?比如我們我們要傳遞一個(gè)非常大的數(shù)據(jù)而又不行改變它,這時(shí)候用引用可以提高效率,但是安全性又得不到保障,那么這時(shí)候常引用的作用就體現(xiàn)出來(lái)了;在C++中,一般非輸出型參數(shù)都是用常引用做參數(shù),就在C語(yǔ)言中,我們傳遞的兩個(gè)字符串,把第一個(gè)拷貝到另一個(gè)字符串中,原字符串就可以加const進(jìn)行修飾,防止出錯(cuò)。

int main()
{const int a = 10;
	double d = 12.34;

	cout<< (int)d<< endl;

	const int& ri = d;//可以
	return 0;
}

類(lèi)型轉(zhuǎn)換,提升,截?cái)喽紩?huì)產(chǎn)生臨時(shí)變量,臨時(shí)變量具有常性。

在這里插入圖片描述

語(yǔ)法上面,ra是a的別名,不開(kāi)空間

底層實(shí)現(xiàn),引用是使用指針

在這里插入圖片描述

2.做返回值

要以引用返回函數(shù)值,則函數(shù)定義時(shí)要按以下格式:

類(lèi)型標(biāo)識(shí)符 &函數(shù)名(形參列表及類(lèi)型說(shuō)明)
{函數(shù)體}

說(shuō)明:

(1)以引用返回函數(shù)值,定義函數(shù)時(shí)需要在函數(shù)名前加&

(2)用引用返回一個(gè)函數(shù)值的大好處是,在內(nèi)存中不產(chǎn)生被返回值的副本。

int& Add(int a, int b)
{int c = a + b;
	return c;
}
int main()
{int& ret = Add(1, 2);
	cout<< ret<< endl;
	Add(3, 4);
	cout<< "Add(1, 2) is :"<< ret<< endl;
	return 0;
}

在這里插入圖片描述

對(duì)于第一、二個(gè)函數(shù),n的值存放在靜態(tài)區(qū)(代碼段)中,函數(shù)棧幀銷(xiāo)毀了之后n還在,可以用引用返回、也可以使用傳值返回,傳值返回是將n的值存放到一個(gè)臨時(shí)變量中再返回。

對(duì)于第三個(gè)函數(shù)來(lái)說(shuō),函數(shù)調(diào)用結(jié)束,函數(shù)棧幀銷(xiāo)毀,再使用傳值返回就會(huì)越界訪問(wèn),返回值就是一個(gè)不確定的值,所以不能這樣使用。

對(duì)于第四個(gè)函數(shù)來(lái)說(shuō),傳值返回的是n拷貝到臨時(shí)變量的值(該過(guò)程發(fā)生在函數(shù)棧幀銷(xiāo)毀之前)。所以沒(méi)有問(wèn)題。

在這里插入圖片描述

對(duì)于上面第三個(gè)函數(shù)我們深入理解什么它是錯(cuò)的:

#includeusing namespace std;

int& Count()
{int n = 0;
	n++;
	cout<< "&n:"<< &n<< endl;
	return n;
}

void Func()
{int x = 100;
	cout<< "&x:"<< &x<< endl;
}

int main()
{int& ret = Count();
	cout<< "ret="<< ret<< endl;

	Func();
	cout<< "ret="<< ret<< endl;
    cout<< "&ret:"<< &ret<< endl;
	cout<< "ret="<< ret<< endl;
	return 0;
}c

在這里插入圖片描述

從上面的結(jié)果可以看出,n,x,ret的使用的是同一塊內(nèi)存空間,我們要理解這段代碼,首先需要知道函數(shù)棧幀銷(xiāo)毀的本質(zhì)是什么:

函數(shù)棧幀的銷(xiāo)毀并不是把那塊空間給銷(xiāo)毀了,而是在這個(gè)棧幀里面的數(shù)據(jù)不被保護(hù)了,可能被其他數(shù)據(jù)占用,有以下幾種情況:該空間沒(méi)有被編譯器分配給其他函數(shù)或變量使用,這在該空間的原來(lái)數(shù)據(jù)沒(méi)有覆蓋,我們還能夠拿到該空間原來(lái)是的數(shù)據(jù);該空間如果被分配給了其他函數(shù),則該空間的數(shù)據(jù)將會(huì)被覆蓋;如果沒(méi)有被分配給其他函數(shù)使用,而是被編譯器清理了,該空間的數(shù)據(jù)將是一個(gè)隨機(jī)值。

對(duì)于上面我們的代碼:1.Count函數(shù)中的變量n是一個(gè)局部變量,函數(shù)調(diào)用完畢之后,函數(shù)棧幀銷(xiāo)毀,棧幀里面的數(shù)據(jù)將不被保護(hù),我們這里用的是引用返回,返回的是n那塊空間的數(shù)據(jù)。ret是Count函數(shù)返回值的引用,而返回值是局部變量n的引用,所以第一次打印n的值是1;第二次我們我們調(diào)用了Func函數(shù),這兩個(gè)函數(shù)棧幀的大小剛好相等,所以n看那一塊空間被x=100覆蓋打印出來(lái)ret的值是100;之后我們繼續(xù)調(diào)用cout函數(shù),導(dǎo)致那塊空間原有的數(shù)據(jù)被覆蓋,而ret是n的引用,所以cout打印的是n的那塊空間的數(shù)據(jù),所以打印出來(lái)的是一個(gè)隨機(jī)值。三次打印應(yīng)該都是一個(gè)隨機(jī)值,畢竟這個(gè)一個(gè)錯(cuò)誤的程序,我們需要了解它為什么是錯(cuò)的。

【注意】

內(nèi)存空間銷(xiāo)毀之后,空間還在,只是使用權(quán)不是我們的,我們存的數(shù)據(jù)不被保護(hù),我們還能夠訪問(wèn),只是我們讀寫(xiě)的數(shù)據(jù)都是不確定的。

內(nèi)存申請(qǐng)和釋放,就像住酒店??臻g讀寫(xiě)數(shù)據(jù),就像在房間寄存的東西。

【結(jié)論】

出了函數(shù)作用域,返回變量不存在了,不能用引用返回,因?yàn)橐梅祷氐慕Y(jié)果是未定義的。

出了函數(shù)作用域,返回變量存在,才能用引用返回。

五、性能比較 1.傳值、傳引用效率比較

以值作為參數(shù)或者返回值類(lèi)型,在傳參和返回期間,函數(shù)不會(huì)直接傳遞實(shí)參或者將變量本身直

接返回,而是傳遞實(shí)參或者返回變量的一份臨時(shí)的拷貝,因此用值作為參數(shù)或者返回值類(lèi)型,效

率是非常低下的,尤其是當(dāng)參數(shù)或者返回值類(lèi)型非常大時(shí),效率就更低。

比如一下例子:

#include#includeusing namespace std;
struct A
{int a[10000]; 
};
void TestFunc1(A a) {}
void TestFunc2(A& a) {}
void TestRefAndValue()
{A a;
	// 以值作為函數(shù)參數(shù)
	size_t begin1 = clock();
	for (size_t i = 0; i< 100000; ++i)
		TestFunc1(a);
	size_t end1 = clock();
	// 以引用作為函數(shù)參數(shù)
	size_t begin2 = clock();
	for (size_t i = 0; i< 100000; ++i)
		TestFunc2(a);
	size_t end2 = clock();
	// 分別計(jì)算兩個(gè)函數(shù)運(yùn)行結(jié)束后的時(shí)間
	cout<< "TestFunc1(A)-time:"<< end1 - begin1<< endl;
	cout<< "TestFunc2(A&)-time:"<< end2 - begin2<< endl;
}

int main()
{TestRefAndValue();
	return 0;
}

在這里插入圖片描述

2.值和引用的作為返回值類(lèi)型的性能比較

值和指針在作為傳參以及返回值類(lèi)型上效率相差很大。

比如下面的例子:

#include#includeusing namespace std;
struct A {int a[10000]; };
A a;
// 值返回
A TestFunc1() {return a; }
// 引用返回
A& TestFunc2() {return a; }
void TestReturnByRefOrValue()
{// 以值作為函數(shù)的返回值類(lèi)型
	size_t begin1 = clock();
	for (size_t i = 0; i< 100000; ++i)
		TestFunc1();
	size_t end1 = clock();
	// 以引用作為函數(shù)的返回值類(lèi)型
	size_t begin2 = clock();
	for (size_t i = 0; i< 100000; ++i)
		TestFunc2();
	size_t end2 = clock();
	// 計(jì)算兩個(gè)函數(shù)運(yùn)算完成之后的時(shí)間
	cout<< "TestFunc1 time:"<< end1 - begin1<< endl;
	cout<< "TestFunc2 time:"<< end2 - begin2<< endl;
}

int main()
{TestReturnByRefOrValue();
	return 0;
}

在這里插入圖片描述

六、引用和指針的區(qū)別

在語(yǔ)法概念上引用就是一個(gè)別名,沒(méi)有獨(dú)立空間,和其引用實(shí)體共用同一塊空間。

int main()
{int a = 10;
int& ra = a;
cout<<"&a = "<<&a<

在底層實(shí)現(xiàn)上實(shí)際是有空間的,因?yàn)橐檬前凑罩羔樂(lè)绞絹?lái)實(shí)現(xiàn)的。

int main()
{int a = 10;
int& ra = a;
ra = 20;
int* pa = &a;
*pa = 20;
return 0;
}

我們來(lái)看下引用和指針的匯編代碼對(duì)比:

在這里插入圖片描述

引用和指針的不同點(diǎn):

1.引用概念上定義一個(gè)變量的別名,指針存儲(chǔ)一個(gè)變量地址。

2.引用在定義時(shí)必須初始化,指針沒(méi)有要求

3.引用在初始化時(shí)引用一個(gè)實(shí)體后,就不能再引用其他實(shí)體,而指針可以在任何時(shí)候指向任何一個(gè)同類(lèi)型實(shí)體

4.沒(méi)有NULL引用,但有NULL指針

5.在sizeof中含義不同**:引用結(jié)果為引用類(lèi)型的大小,但指針始終是**地址空間所占字節(jié)個(gè)數(shù)(32位平臺(tái)下占4個(gè)節(jié),64位平臺(tái)下占8個(gè)字節(jié))

6.引用自加即引用的實(shí)體增加1,指針自加即指針向后偏移一個(gè)類(lèi)型的大小

7.有多級(jí)指針,但是沒(méi)有多級(jí)引用

8.訪問(wèn)實(shí)體方式不同,指針需要顯式解引用,引用編譯器自己處理

9.引用比指針使用起來(lái)相對(duì)更安全

七、總結(jié)

(1)在引用的使用中,單純給某個(gè)變量取個(gè)別名是毫無(wú)意義的,引用的目的主要用于在函數(shù)參數(shù)傳遞中,解決大塊數(shù)據(jù)或?qū)ο蟮膫鬟f效率和空間不如意的問(wèn)題。

(2)用引用傳遞函數(shù)的參數(shù),能保證參數(shù)傳遞中不產(chǎn)生副本,提高傳遞的效率,且通過(guò)const的使用,保證了引用傳遞的安全性。

(3)引用與指針的區(qū)別是,指針通過(guò)某個(gè)指針變量指向一個(gè)對(duì)象后,對(duì)它所指向的變量間接操作。程序中使用指針,程序的可讀性差;而引用本身就是目標(biāo)變量的別名,對(duì)引用的操作就是對(duì)目標(biāo)變量的操作。

ULL引用,但有NULL指針

5.在sizeof中含義不同**:引用結(jié)果為引用類(lèi)型的大小,但指針始終是**地址空間所占字節(jié)個(gè)數(shù)(32位平臺(tái)下占4個(gè)節(jié),64位平臺(tái)下占8個(gè)字節(jié))

6.引用自加即引用的實(shí)體增加1,指針自加即指針向后偏移一個(gè)類(lèi)型的大小

7.有多級(jí)指針,但是沒(méi)有多級(jí)引用

8.訪問(wèn)實(shí)體方式不同,指針需要顯式解引用,引用編譯器自己處理

9.引用比指針使用起來(lái)相對(duì)更安全

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧


本文標(biāo)題:【C++】C++引用-創(chuàng)新互聯(lián)
文章出自:http://fisionsoft.com.cn/article/cegiij.html