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:函數二形參是引用,不是取地址 指針