C++中const關鍵字詳解
const關鍵字作用
1. 修飾變數
用法:const 型別說明符 變數名。
含義:說明該變數不可以被改變。
用途:常量命名等
2. 修飾引用
用法: const 型別說明符 &引用名。
含義:引用物件不可修改。
用途:用作函式形參,接受各類資料且函式不能對其修改,常引用能接受普通變數和常變數,普通引用不能接受常變數和臨時的變數;
用作函式返回值型別,僅希望進行顯示返回值操作,不允許對返回值進行修改。
3. 修飾類物件
用法
含義:const物件只能訪問const成員函式。
4. 修飾成員變數
用法:類名::const 型別說明符 變數名。
含義:const成員變數在某個物件的生產週期內是常量,並且其初始化只能在類的建構函式的初始化列表中進行。
5. 修飾成員函式
用法:類名::fun(形參) const。
含義:不可修改成員變數,不管變數是不是具有const性質。
6. 修飾陣列
用法:型別說明符 const 陣列名[大小]。
含義:保護陣列不被修改。
7. 修飾指標
用法:const 型別說明符* 指標名 ,型別說明符* const 指標名。
含義:保護指標或者指標指向的地址不被修改。
用法:const int *p 或者 int const *p 表示指標p可以指向別處,但是不能修改指標指向的物件;
int * const p 表示指標p不可以指向別處,但是可以修改指標指向的物件;
const int * const p 表示指標p不可以指向別處,也不能修改指標指向的物件。
8. 修飾函式形參
用法
含義:接受各類資料,且函式不能修改const型別的形參。
9. 修飾函式返回值
用法:const fun()。
含義:僅希望進行顯示返回值操作,不允許對返回值進行修改。