C++ 中指針和引用有什么區(qū)別詳解
C++ 中指針和引用有什么區(qū)別詳解
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
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站 的支持!
相關(guān)文章
C++不使用變量求字符串長度strlen函數(shù)的實(shí)現(xiàn)方法
這篇文章主要介紹了C++不使用變量求字符串長度strlen函數(shù)的實(shí)現(xiàn)方法,實(shí)例分析了strlen函數(shù)的實(shí)現(xiàn)原理與不使用變量求字符串長度的實(shí)現(xiàn)技巧,需要的朋友可以參考下2015-06-06
C++簡單QQ程序服務(wù)器端的實(shí)現(xiàn)代碼
這篇文章主要為大家詳細(xì)介紹了C++簡單QQ程序服務(wù)器端的實(shí)現(xiàn)代碼,感興趣的朋友可以參考一下2016-05-05
C++使用鏈表實(shí)現(xiàn)圖書管理系統(tǒng)
這篇文章主要介紹了C++使用鏈表實(shí)現(xiàn)圖書管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03
探索Visual C++下創(chuàng)建WPF項(xiàng)目的方法示例
這篇文章主要介紹了探索Visual C++下創(chuàng)建WPF項(xiàng)目的方法示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07
C++中sln,vcxproj,vcxproj.filters,lib,dll,exe的含義說明
這篇文章主要介紹了C++中sln,vcxproj,vcxproj.filters,lib,dll,exe的含義說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-05-05
C語言SetConsoleTextAttribute函數(shù)使用方法
這篇文章介紹了C語言SetConsoleTextAttribute函數(shù)的使用方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-12-12

