c++將引用或者是指針作為函數(shù)參數(shù)實(shí)現(xiàn)實(shí)參的運(yùn)算
C++增加引用類型, 主要是把它作為函數(shù)參數(shù),以擴(kuò)充函數(shù)傳遞數(shù)據(jù)的功能,較指針參數(shù)來(lái)得更加安全直觀。將引用作為參數(shù)傳遞的時(shí)候,實(shí)參初始化形參的時(shí)候不分配內(nèi)存空間,也不調(diào)用拷貝構(gòu)造函數(shù),因此更加能夠提高運(yùn)算的性能。所以我們應(yīng)該盡可能地使用引用,而非指針,但是應(yīng)該要注意,因?yàn)榫植孔兞烤哂凶约憾虝旱纳芷冢虼瞬荒軌蚍祷貙?duì)一個(gè)局部變量的引用。
引用通常是在被定義的時(shí)候被初始化,但是當(dāng)它作為參數(shù)的時(shí)候,則是在被調(diào)用的時(shí)候被初始化。這時(shí)候?qū)σ盟龅母淖兙褪菍?duì)被引用的變量所做的改變。
引用對(duì)變量的訪問(wèn)是直接訪問(wèn),指針則是間接訪問(wèn),指針有自己獨(dú)立的地址和內(nèi)存空間,引用則是變量的別名沒(méi)有獨(dú)立的內(nèi)存空間。
傳遞變量的指針
//形參是指針變量,實(shí)參是一個(gè)變量的地址,調(diào)用函數(shù)時(shí),形參(指針變量)指向?qū)崊⒆兞繂卧?#65377;
//函數(shù)通過(guò)使用指針變量作形參的時(shí)候,能夠?qū)崿F(xiàn)兩個(gè)指針變量所指向的值的互換。
#include <iostream>
using namespace std;
int main( )
{ void swap(int *,int *);
int i=3,j=5;
swap(&i,&j); //實(shí)參是變量的地址
cout<<i<<" "<<j<<endl; //i和j的值已互換
return 0;
}
void swap(int *p1,int *p2) //形參是指針變量
{ int temp;
temp=*p1; //以下3行用來(lái)實(shí)現(xiàn)i和j的值互換
*p1=*p2;
*p2=temp;
}
利用“引用形參”實(shí)現(xiàn)兩個(gè)變量的值互換
#include <iostream>
using namespace std;
int main( )
{ void swap(int &,int &);
int i=3,j=5;
swap(i,j);
cout<<"i="<<i<<" "<<"j="<<j<<endl;
return 0;
}
void swap(int &a,int &b) //形參是引用類型,在函數(shù)被調(diào)用的時(shí)候,引用被初始化
{ int temp;
temp=a;
a=b;
b=temp;
}
//輸出結(jié)果為
// i=5 j=3

相關(guān)文章
C/C++實(shí)現(xiàn)重置文件時(shí)間戳
這篇文章主要為大家詳細(xì)介紹了C/C++實(shí)現(xiàn)重置文件時(shí)間戳的相關(guān)資料,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的小伙伴可以參考一下2023-11-11C語(yǔ)言基礎(chǔ)知識(shí)變量的作用域和存儲(chǔ)方式詳細(xì)介紹
這篇文章主要介紹了C語(yǔ)言基礎(chǔ)知識(shí)變量的作用域和存儲(chǔ)方式詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下2017-01-01Windows 環(huán)境下使用 Qt 連接 MySQL
這篇文章主要介紹了Windows 環(huán)境下使用 Qt 連接 MySQL的相關(guān)資料,需要的朋友可以參考下2017-07-07數(shù)據(jù)結(jié)構(gòu) 紅黑樹(shù)的詳解
這篇文章主要介紹了數(shù)據(jù)結(jié)構(gòu) 紅黑樹(shù)的詳解的相關(guān)資料,數(shù)據(jù)結(jié)構(gòu)中的二叉樹(shù)查找,紅黑樹(shù)的講解,需要的朋友可以參考下2017-07-07C語(yǔ)言數(shù)據(jù)的存儲(chǔ)超詳細(xì)講解下篇浮點(diǎn)型在內(nèi)存中的存取
使用編程語(yǔ)言進(jìn)行編程時(shí),需要用到各種變量來(lái)存儲(chǔ)各種信息。變量保留的是它所存儲(chǔ)的值的內(nèi)存位置。這意味著,當(dāng)您創(chuàng)建一個(gè)變量時(shí),就會(huì)在內(nèi)存中保留一些空間。您可能需要存儲(chǔ)各種數(shù)據(jù)類型的信息,操作系統(tǒng)會(huì)根據(jù)變量的數(shù)據(jù)類型,來(lái)分配內(nèi)存和決定在保留內(nèi)存中存儲(chǔ)什么2022-04-04