普通引用
int a = 10;
int& b = a;
b可以修改a
常引用
用const修飾就是常引用,常引用初始化有兩種情況
1、 用變數 初始化 常引用
2 、用 字面量 初始化 常引用
const int& y2= 40;
//常引用的知識架構
void main01()
//2 > 用 字面量 初始化 常引用
system("pause");
}struct teacher
;void printfteacher(const teacher& my)//相當於void printfteacher(const teacher * const my) 指標變數 和指標指向的記憶體空間都不能被修改
void main()
結論
1)const & int e 相當於 const int * const e
void printfteacher(const teacher& my)
void printfteacher(const teacher * const my)
兩者等價,指標變數 和 指標指向的記憶體空間 都不能被修改
2)普通引用 相當於 int *const e1
3)當使用常量(字面量)對const引用進行初始化時,c++編譯器會為常量值分配空間,並將引用名作為這段空間的別名
4)使用字面量對const引用初始化後,將生成乙個唯讀變數
c++中的const常量
可能分配儲存空間, 也可能不分配儲存空間
1、當const常量為全域性,並且需要在其它檔案中使用,會分配儲存空間
2、當使用&操作符,取const常量的位址,會分配儲存空間
3、當const int &a = 40; const修飾引用時,也會分配儲存空間
引用 const引用和非const引用
引用構造了物件的乙個同義詞,是c 物件的另乙個名字。在實際程式中,引用的主要作用是作函式的形參。引用是一種復合型別1,它通過在變數名前新增 來定義。在使用引用的情況下,每一種引用型別都關聯到某一其他型別。c 不能定義引用型別的引用,但是可以定義任何其他型別的引用。int a 100 int refa...
函式形參為什麼使用const引用 常引用
是為了引用傳遞,防止值傳遞的複製資料,const 是為了保護資料不被改動。const 防止傳值時拷貝建構函式的呼叫開銷 2 形參的物件為頂層 const 時,傳入的實參既可以是 const 值,又可以是非 const 值,若是底層 const 傳入的實參只能是 const 的值。頂層 const表示...
const引用與非const引用
const引用可讀不可改,與繫結物件是否為const無關,注意區分const引用與對const物件的引用 非const引用可讀可改,只可與非const物件繫結 const int ival 1024 const int refval ival ok both reference and object...