常量引用或指向常量的指標,其所指物件可以是非const物件(C++)
常量引用:
常量引用即為對const的引用,其僅對引用可參與的操作做出了限定,但對於引用的物件是否為const常量並未做限定。若引用物件是const常量,那麼無論通過何種方式都不允許改變物件的值;若引用物件是非常量,則允許通過其他途徑改變其值。如:
int i=47;
int &r1=i;
const int &r2=i;
此時不允許對r2進行改變其值的操作,因為r2位常量引用,但可以通過改變r1或直接改變i來達到改變值的目的。
i=0;//行!
r1=0;//行!
r2=0;//不行!
——————————————————————————————————————————————————
指向常量的指標:
指向常量的指標同理
int i=47;
int *p1=&i;
const int *p2=&i;
可以通過改變*p1或i來改變值,但p2不允許這麼做。
i=0;//行!
*p1=0;//行!
*p2=0;//不行!
——————————————————————————————————————————————————
可以這樣理解:
所謂指向常量的指標或引用,不過是指標或引用“自以為是”罷了,它們覺得自己指向了常量,所以自覺地不去改變所指物件的值。物件的值到底能不能修改只取決於其本身。
相關文章
- 指向指標的常量引用瞭解指標
- 指標常量和常量指標的區別指標
- 【C++系列】指標物件和物件指標的區別C++指標物件
- C++ const常量的理解C++
- C++中const與指標、引用的總結C++指標
- 120 C++中的物件指標C++物件指標
- 詳解c++指標的指標和指標的引用C++指標
- C++中函式指標與函式物件C++函式指標物件
- c++ 類的函式引用 指標C++函式指標
- 載入專案常量配置物件物件
- Go 陣列指標(指向陣列的指標)Go陣列指標
- 指標與const指標
- java的引用:用C++/C的引用和指標去理解JavaC++指標
- 【原創】淺談指標(十三)指向陣列的指標指標陣列
- 字串指標與字元陣列的區別--字串常量的值不能改字串指標字元陣列
- 2.3C++物件模型和this指標C++物件模型指標
- c++指標傳遞與引用傳遞C++指標
- const修飾符的使用(修飾結構體指標,引用外部的const 變數)結構體指標變數
- Golang 學習——常量 const 和 iotaGolang
- const 變數和指標變數指標
- C++ 學習筆記(3):引用和指標C++筆記指標
- 1.0 - 指標和引用指標
- STL容器裡存放物件還是指標物件指標
- 有關this指標指向問題指標
- C++ 中的 const 物件與 const 成員函式C++物件函式
- JAVA 將介面的引用指向實現類的物件Java物件
- (轉發)連結串列新增函式中為什麼要用指向連結串列指標的指標(引用傳參)函式指標
- C/C++引用和指標的聯絡和區別C++指標
- 指標和引用的區別指標
- 引用的底層為指標指標
- 02_const修飾指標指標
- C++ this 指標C++指標
- C++ 指標C++指標
- C++物件導向總結——虛指標與虛擬函式表C++物件指標函式
- C++智慧指標學習——小談引用計數C++指標
- PHP 定義常量 define 和 const的區別PHP
- C++中的this指標C++指標
- ES6-const宣告常量以及特點