在C++中,指標和引用經常用於函式的引數傳遞,二者有哪些區別呢?下面本站小編帶大家一起來看看詳細內容,希望對大家有所幫助!想了解更多相關資訊請持續關注我們應屆畢業生考試網!
1.從記憶體上來講 系統為指標分寸記憶體空間,而引用與繫結的`物件共享記憶體空間,系統不為引用變數分配內容空間。
2指標初始化以後可以改變指向的物件,而引用定義的時候必須要初始化,且初始化以後不允許再重新繫結物件。
3.所以引用訪問物件是直接訪問。指標訪問物件是間接訪問。
4。如果pa是指標,那麼*pa就是引用了。
但是兩者在作為形參的時候非常相似,區別是指標拷貝副本,引用不拷貝。程式如下:
#include<stdio.h>
void pt(int * pta,int * ptb)
{
int *ptc;
ptc=pta;pta=ptb;ptb=ptc;
}
void ref(int &ra,int &rb)
{
int rc;
rc=ra;ra=rb;rb=rc;
}
void main()
{
int a=3;int b=4;
int *pa=&a;int *pb=&b;
pt(pa,pb);
printf("zhizhen: a=%d,b=%dn",a,b);
ref(a,b);
printf("yinyong: a=%d,b=%dn",a,b);
}
輸出結果如下圖:
zhizhen: a=3,b=4
yinyong: a=4;b=3