定義:
修飾符,代表所修飾的類型的對象/變量不可更改。
作用域:
默認文件局部變量。(普通變量默認爲extern)
使用注意:
- 定義時必須初始化。
- 初始化之後不能更改。
指針與const
- 指針本身爲const指針:* const
指針本身的值(某變量地址)不可修改。
其所指對象可不爲const,可用此指針更改所指對象的值,但不能更改此指針的值。 - 指針指向const對象:const *
指針本身的值可更改。
可指向非const對象。但不能通過這個指針更改其所指對象的值(對於此指針來說,這個對象是const)。
key: const修飾的對象不可修改。
函數與const
- 對於值傳遞: const可使其不在函數內部被修改,但即使修改,也無法影響調用函數,因此無太大意義。
- 對於引用傳遞:節約空間時間,加上const可確保引用不被修改,以免影響到調用函數。
類與const
- const修飾類對象:此對象的數據成員不能被修改。
- const修飾類成員函數:此函數不能修改數據成員。
- 因此:const對象只能調用const成員函數。非const對象隨意。