引用概念

20、引用
我們知道,參數的傳遞本質是一次賦值的過程,賦值就是對內存進行拷貝,所謂的內存拷貝,是指將一塊內存上的數據複製到另一塊內存上。


b.c/C++禁止在函數調用時直接傳遞數組的內容,而是強制傳遞數組指針,而對於結構體和對象沒有這種限制,調用函數時既可以傳遞指針,也可以直接傳遞內容;但是在C++中,我們有了一種比指針更加便捷的傳遞聚合類型數據的方式,那就是引用(Reference)


c.引用是C++相對於C語言的有一個擴充,引用可以看做是數據的一個別名,通過這個別名和原來的名字都能找到這份數據。
引用類似於Windows中的快捷方式。


引用的定義方式類似於指針,只是用&取代了*,語法格式爲:


type &name = data;


type是被引用的數據的名稱
name  是引用的名稱
data 是被引用的數據


int & i = j;


引用必須在定義的同時初始化,並且以後也要從一而終,不能在引用其他數據,這有點類似於CONST變量


注意:引用在定義時需要添加& ,在使用時不能添加&,使用時添加&表示取地址符。






d.再定義或者聲明函數時,我們可以將函數的形參指定爲引用的形式,這樣在調用函數時就會將實參和形參綁定在一起,讓它們都指代同一份數據。
如此一來,如果在函數體中修改了形參的數據,那麼實參的數據也會被修改,從而擁有“在函數內部影響外部數據”的效果。
一個能夠展現按引用傳參的優勢 的列子就是交換2個數據的值。































































發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章