---
# System prepended metadata

title: C++ 修飾詞
tags: [cpp, c++]

---

# C++ 修飾詞  
## const  
- 加在變數前：該變數宣告後不可變動  
- 加在class function後面：該function不可更改class的變數  
- 指標  
    - const T* ptr：不能修改\*ptr  
    - T const \*ptr：不能修改\*ptr  
    - T* const ptr：不能修改ptr  
    - 總的來說，在\*左邊代表指標不能改，在\*右邊代表內容不能改  
## mutable  
在類別中宣告時加上mutable，則類別中const function可修改此變數  
## volatile  
變數具有揮發性，每次取值應自記憶體讀取而非自快取讀取，避免編譯器優化導致錯誤  
###### tags: `c++` `cpp`