const引用和指標
阿新 • • 發佈:2022-11-29
1、可以為const引用初始化一個非const的物件、字面值,甚至是一般表示式。
2、對引用初始化時必須嚴格進行型別匹配,但是const引用初始化時不需要型別匹配,只要可以轉換為const所定義的型別即可,此時,const引用變數指向了一個用於型別轉換的臨時量,若引用為非const的,且沒有進行型別匹配,則此非const引用也指向臨時量,此時如果改變引用變數的值,則只能改變臨時量的值,而不能改變初始化時所用變數的值,沒有達到通過引用改變所繫結量的值的目的,因此非const引用必須做到嚴格的型別匹配。
3、要想存放常量物件的地址,只能使用指向常量的指標。
4、宣告語句中const int *p為指向常量的指標,int *const p為常量指標,即指標本身是常量,區別方法:從右往左讀。
5、指向常量的指標為底層const,常量指標為頂層const,引用型別都是底層const。
6、在初始化語句中頂層const可以忽略,底層const必須一致。const可以初始化為非const變數,但非const變數不能初始化為const。