我們在使用C語言開發(fā)項目的時候,經(jīng)常遇到指針和引用,但是很多初學(xué)者并不熟悉它們之間的區(qū)別,下面武林技術(shù)頻道小編給大家介紹詳解C++ 中指針和引用的區(qū)別。
C++ 中指針和引用有什么區(qū)別詳解
1.從內(nèi)存上來講? 系統(tǒng)為指針分寸內(nèi)存空間,而引用與綁定的對象共享內(nèi)存空間,系統(tǒng)不為引用變量分配內(nèi)容空間。
2指針初始化以后可以改變指向的對象,而引用定義的時候必須要初始化,且初始化以后不允許再重新綁定對象。
3.所以引用訪問對象是直接訪問。指針訪問對象是間接訪問。
4。如果pa是指針,那么*pa就是引用了。
但是兩者在作為形參的時候非常相似,區(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=4yinyong: a=4;b=3
以上就是武林技術(shù)頻道小編給大家介紹的詳解C++ 中指針和引用的區(qū)別,希望能幫助你,我們還整理了更多專業(yè)的知識,讓大家不再為學(xué)習(xí)而感到煩惱。
新聞熱點
疑難解答