c++將引用或者是指針作為函數(shù)參數(shù)實(shí)現(xiàn)實(shí)參的運(yùn)算
C++增加引用類型, 主要是把它作為函數(shù)參數(shù),以擴(kuò)充函數(shù)傳遞數(shù)據(jù)的功能,較指針參數(shù)來得更加安全直觀。將引用作為參數(shù)傳遞的時(shí)候,實(shí)參初始化形參的時(shí)候不分配內(nèi)存空間,也不調(diào)用拷貝構(gòu)造函數(shù),因此更加能夠提高運(yùn)算的性能。所以我們應(yīng)該盡可能地使用引用,而非指針,但是應(yīng)該要注意,因?yàn)榫植孔兞烤哂凶约憾虝旱纳芷?,因此不能夠返回對一個(gè)局部變量的引用。
引用通常是在被定義的時(shí)候被初始化,但是當(dāng)它作為參數(shù)的時(shí)候,則是在被調(diào)用的時(shí)候被初始化。這時(shí)候?qū)σ盟龅母淖兙褪菍Ρ灰玫淖兞克龅母淖儭?/P>
引用對變量的訪問是直接訪問,指針則是間接訪問,指針有自己獨(dú)立的地址和內(nèi)存空間,引用則是變量的別名沒有獨(dú)立的內(nèi)存空間。
傳遞變量的指針
//形參是指針變量,實(shí)參是一個(gè)變量的地址,調(diào)用函數(shù)時(shí),形參(指針變量)指向?qū)崊⒆兞繂卧?#65377;
//函數(shù)通過使用指針變量作形參的時(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行用來實(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語言實(shí)現(xiàn)可保存的動(dòng)態(tài)通訊錄的示例代碼
這篇文章主要為大家詳細(xì)介紹了如何利用C語言實(shí)現(xiàn)一個(gè)簡單的可保存的動(dòng)態(tài)通訊錄,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)C語言有一定幫助,需要的可以參考一下2022-07-07
C++ 實(shí)現(xiàn)線程安全的頻率限制器(推薦)
這篇文章主要介紹了在 C++ 中實(shí)現(xiàn)一個(gè)線程安全的頻率限制器,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-05
C語言函數(shù)調(diào)用的三種實(shí)現(xiàn)方法實(shí)例
C語言中函數(shù)的調(diào)用主要有如下三種方法,直接調(diào)用,函數(shù)指針調(diào)用,函數(shù)指針傳遞調(diào)用其中后兩種本質(zhì)一樣,但在有無返回值時(shí)還稍有差別,下面這篇文章主要給大家介紹了關(guān)于C語言函數(shù)調(diào)用的三種實(shí)現(xiàn)方法,需要的朋友可以參考下2022-01-01
c++利用windows函數(shù)實(shí)現(xiàn)計(jì)時(shí)示例
這篇文章主要介紹了c++利用windows函數(shù)實(shí)現(xiàn)計(jì)時(shí)示例,需要的朋友可以參考下2014-05-05
C++實(shí)現(xiàn)教務(wù)管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)教務(wù)管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-06-06
在Centos7中使用vscode和gdb調(diào)試PG插件的方法
這篇文章主要介紹了在Centos7中使用vscode和gdb調(diào)試PG插件,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-09-09
C++ 賦值構(gòu)造函數(shù)注意點(diǎn)介紹
下面小編就為大家?guī)硪黄狢++ 賦值構(gòu)造函數(shù)注意點(diǎn)介紹。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-12-12

