- 相關推薦
C++ 中指針和引用區別有哪些
在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=%d\n",a,b);
ref(a,b);
printf("yinyong: a=%d,b=%d\n",a,b);
}
輸出結果如下圖:
zhizhen: a=3,b=4
yinyong: a=4;b=3
【C++ 中指針和引用區別有哪些】相關文章:
C++ 中引用和指針的關系10-17
C++ this指針詳解07-04
C++返回對象和返回引用05-31
關于C和C++函數的相互引用09-06
c++ const引用與非const引用09-15
科目一和科目四區別有哪些10-23
c++函數指針使用示例07-26
C++函數指針學習教程10-01
詳解C/C++中堆和棧及靜態數據區11-02