在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