&:如果形參為引用型別,則形參是實參的別名,&的使用說明此處只是原引數的另乙個名字而已
1.【值傳遞】
如果形參為非引用的傳值方式,則生成區域性臨時變數接收實參的值。
void swap (int
left, int
right) /*值傳遞的方式無法實現交換,因為傳參時對於引數left和right拷貝一臨時副本,交換的是副本值,因為其是臨時變數函式退出,變數銷毀,並不會影響外部left和right的值。*/
2.【引用傳遞】
如果形參為引用型別,則形參是實參的別名。
void swap (int& left, int& right)/*使用引用的話,不做臨時拷貝,&的使用說明此處只是原引數的另乙個名字而已,所以修改時直接在原引數的基礎上修改變數值。*/
3.【指標傳遞】
void swap (int* pleft, int* pright)/*傳入的是位址,因為位址是唯一的,所以指標通過位址的訪問進而可修改其內容。*/
關於引用的其他知識,詳見:
基礎引用、const引用、區別聯絡等等。
C 引用與引用作為函式的引數
c 引用與引用作為函式的引數 參考 對乙個資料建立乙個 引用 他的作用是為乙個變數起乙個別名。這是c 對c語言的乙個重要補充。如何建立乙個引用 int a 5 int b a cout 列印結果 從上述結果可以看到,a與b位址是相同的。使用引用的一些注意事項 1 宣告乙個引用時,必須同時使之初始化,...
C 引用與引用作為函式的引數
對乙個資料建立乙個 引用 他的作用是為乙個變數起乙個別名。這是c 對c語言的乙個重要補充。如何建立乙個引用 int a 5 int b a cout以上宣告了b是a的引用,並把a,b的值和它們的位址列印出來。經過宣告後b是a別名,b與a代表的是同乙個變數,佔記憶體中同乙個儲存單元,具有同一位址。列印...
C 引用作為函式引數
有了變數名,為什麼還需要乙個別名呢?c 之所以增加引用型別,主要是把它作為函式引數,以擴充函式傳遞資料的功能。到目前為止我們介紹過函式引數傳遞的兩種情況。1 將變數名作為實參和形參 這時傳給形參的是變數的值,傳遞是單向的。如果在執行函式期間形參的值發生變化,並不傳回給實參。因為在呼叫函式時,形參和實...