C++增加引用類型, 主要是把它作為函數參數,以擴充函數傳遞數據的功能,較指針參數來得更加安全直觀。將引用作為參數傳遞的時候,實參初始化形參的時候不分配內存空間,也不調用拷貝構造函數,因此更加能夠提高運算的性能。所以我們應該盡可能地使用引用,而非指針,但是應該要注意,因為局部變量具有自己短暫的生命周期,因此不能夠返回對一個局部變量的引用。
引用通常是在被定義的時候被初始化,但是當它作為參數的時候,則是在被調用的時候被初始化。這時候對引用所做的改變就是對被引用的變量所做的改變。
引用對變量的訪問是直接訪問,指針則是間接訪問,指針有自己獨立的地址和內存空間,引用則是變量的別名沒有獨立的內存空間。
傳遞變量的指針
#include <iostream>
using namespace std;
int main( )
{ void swap(int *,int *);
int i=3,j=5;
swap(&i,&j); //實參是變量的地址
cout<<i<<" "<<j<<endl; //i和j的值已互換
return 0;
}
void swap(int *p1,int *p2) //形參是指針變量
{ int temp;
temp=*p1; //以下3行用來實現i和j的值互換
*p1=*p2;
*p2=temp;
}
利用“引用形參”實現兩個變量的值互換
void swap(int &a,int &b) //形參是引用類型,在函數被調用的時候,引用被初始化
{ int temp;
temp=a;
a=b;
b=temp;
}
//輸出結果為
// i=5 j=3
新聞熱點
疑難解答
圖片精選