C 深度解析 9 const 常量?唯讀變數?

2021-10-02 09:35:25 字數 671 閱讀 8569

2 小結

看了前面的關於 const 的內容,不知道是不是有疑問,const 什麼時候為唯讀變數,什麼時候是常量?

綜上所述,在編譯期間不能直接確定初始值的 const 標示符,都被作為唯讀變數處理。

const 引用的型別與初始化變數的型別

// 9-1.c

#include

intmain()

編譯執行:

$ g++ 9-1.c -o 9-1

$ ./9-1

x = 1

rx = 5

nrx = 5

&x = 0x7ffee6ed4440

&rx = 0x7ffee6ed4440

&nrx = 0x7ffee6ed4440

y = 6

p = 0x7ffee6ed4444

z = 7

p = 0x7ffee6ed4448

c = a

rc = a

trc = c

當 const 修飾的變數是唯讀變數時,僅僅是說明不能通過這個唯讀變數修改記憶體的值,但是可以通過其他方法修改記憶體值。

1、const 引用能夠生成新的唯讀變數

2、編譯時不能直接確定初始值的 const 標示符都是唯讀變數

Const 深度解析

物件導向是c 的重要特性.但是c 在c的基礎上新增加的幾點優化也是很耀眼的 就const直接可以取代c中的 define 以下幾點很重要,學不好後果也也很嚴重 1.const常量,如const int max 100 優點 const常量有資料型別,而巨集常量沒有資料型別。編譯器可以對前者進行型別安...

C 高階學習 const常成員

const修飾指標 const用於函式的形參 const關鍵字在c 中的應用 const修飾物件 關鍵字 mutable 常型別是指使用型別修飾符const說明的型別,常型別的變數或物件的值是不能被修改的 const的普通用法int const index 10 const修飾的變數不能被修改,且必...

c 中的const,即常引用

1 常引用初始化的情況 1 用變數進行初始化,如下 常引用 int x 20 const int y x 常引用是讓變數引用只具有唯讀屬性,不能通過y去修改x了 2 用常量進行初始化,如下 int m 41 const int m 43 c 編譯器會為m分配記憶體空間 然後讓這個引用的指標指向這個m...