C++11 使用引用類型時要注意的幾點

從《C++ Primer》上總結的使用引用類型時要注意的幾點:
(1)因爲無法令引用重新綁定到另一個對象,因此引用必須初始化。一旦初始化完成,引用將和它的初始值對象一直綁定在一起。

(2)因爲引用本身不是一個對象,所以不能定義引用的引用
例:
在這裏插入圖片描述在這裏插入圖片描述

int a = 5;
int &ref_a = a;
int &ref_ref_a = ref_a;

可以在圖中看到,ref_ref_a的類型並不是引用的引用,將ref_ref_a綁定到了ref_a綁定的對象a上,相當於就是將ref_ref_a綁定到了對象a上。

那怎樣算引用的引用呢?
在這裏插入圖片描述

int b = 5;
int &ref_b = b;
int & &ref_ref_b = ref_b;

int &&就是引用的引用,可以看到程序在編輯的時候就直接提示不允許使用引用的引用了。因爲引用不是對象,沒有實際的地址,引用只能綁定在對象上,所以不能定義引用的引用。

(3)引用的類型要和與之綁定的對象嚴格匹配。

(4)引用只能綁定在對象上,而不能與字面值或某個表達式的計算結果綁定在一起。

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