- 相關(guān)推薦
C++ 中指針和引用區(qū)別有哪些
在C++中,指針和引用經(jīng)常用于函數(shù)的參數(shù)傳遞,二者有哪些區(qū)別呢?下面百分網(wǎng)小編帶大家一起來看看詳細(xì)內(nèi)容,希望對(duì)大家有所幫助!想了解更多相關(guān)信息請(qǐng)持續(xù)關(guān)注我們應(yīng)屆畢業(yè)生考試網(wǎng)!
1.從內(nèi)存上來講 系統(tǒng)為指針分寸內(nèi)存空間,而引用與綁定的對(duì)象共享內(nèi)存空間,系統(tǒng)不為引用變量分配內(nèi)容空間。
2指針初始化以后可以改變指向的對(duì)象,而引用定義的時(shí)候必須要初始化,且初始化以后不允許再重新綁定對(duì)象。
3.所以引用訪問對(duì)象是直接訪問。指針訪問對(duì)象是間接訪問。
4。如果pa是指針,那么*pa就是引用了。
但是兩者在作為形參的時(shí)候非常相似,區(qū)別是指針拷貝副本,引用不拷貝。程序如下:
#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);
}
輸出結(jié)果如下圖:
zhizhen: a=3,b=4
yinyong: a=4;b=3
【C++ 中指針和引用區(qū)別有哪些】相關(guān)文章:
C++ 中引用和指針的關(guān)系10-17
C++ this指針詳解07-04
C++返回對(duì)象和返回引用05-31
關(guān)于C和C++函數(shù)的相互引用09-06
c++ const引用與非const引用09-15
科目一和科目四區(qū)別有哪些10-23
c++函數(shù)指針使用示例07-26