天天看點

關于c++函數形參指針 與引用的說明

c++中函數傳遞方式一般為能夠讓主調函數改變傳遞值,選擇函數傳遞指針或者引用兩種方式,針對形參的傳遞兩種方式,他們有差別的

形參指針的傳遞會單獨開辟記憶體單元來存儲位址,而形參為引用則不會,引用就是變量的别名,她是和變量共享存儲單元的,是以不會獨占記憶體單元(個人建議選擇引用作為形參常用);具體看兩個函數:

//形參是指針變量
void swap(int *a,int *b){
   int temp;
   temp=*a;
   *a=*b;
   *b=temp;

}
//形參引用
void swap(int &a,int &b){
   int temp;
   temp=a;
   a=b;
   b=temp;

}                

第一個函數形參為指針,使用swap(&c,&d);将實參的位址傳輸給指針變量,即是*a,*b和c,d變量對應同一記憶體單元;

第二個函數形參為引用,上面也提到引用實質就是變量的别名,是以直接這樣幹swap(c,d);傳遞變量名就可以了;ps:函數二形參是引用,不是取位址

版權聲明:本文為CSDN部落客「weixin_34174422」的原創文章,遵循CC 4.0 BY-SA版權協定,轉載請附上原文出處連結及本聲明。

原文連結:https://blog.csdn.net/weixin_34174422/article/details/92556106