C++ Primer學(xué)習(xí)筆記——const
const的作用簡單的來講就是說明它是個常量,無法被修改
const是一種限定符,用于修飾變量,使變量無法被修改,意味著將該變量定義為常量。在程序當(dāng)中,任何試圖修改該變量的值的語句都是非法行為,編譯器會報錯,操作const變量時,其用途是只能用于讀取const變量的值。
const變量必須被初始化,用于初始化的值可以是左值,也可以是右值。
編譯器在編譯過程中,會把所有用到const變量的地方全部替換成const變量的值。因此編譯器必須知道const變量的值,這也是為什么const變量必須被初始化的原因。const對象用于多個文件時,可以通過extern的方式來對const對象聲明,然后在.cpp中給const變量進行定義即可。
const的引用
使用const引用所綁定的變量的值是無法被改變的。(這句話可能很拗口不好理解)
const引用并不是說必須要綁定const變量,它可以綁定任何變量(被綁定的類型和const引用類型要一致,或者被綁定的類型可以隱式轉(zhuǎn)換成const引用的類型),左值和右值都可以。
指針和const
指向常量的指針用于存放常量對象的地址
常量指針
const之間的拷貝只需要記住一句話即可:非常量可以轉(zhuǎn)化成常量,反之不行
這也是為什么很多C++的函數(shù)形參喜歡使用const引用的原因之一,因為const引用可以“通吃”常量,非常量以及字面值。
constexpr作為C++11的新標(biāo)準(zhǔn),其實up主看書也沒有玩明白constexpr,所以這里暫時不進行講解,等后續(xù)搞懂后在進行補充。


標(biāo)簽: