一、C中const的用法總結起來主要分為以下兩種:
在定義變量時使用(注意:在定義變量時使用const,一定要進行初始化操作):
最簡單的用法,說明變量為一個常變量:
const int a=100;
int const b=100;
說明指針為指向常數的指針,即指針本身的值是可以改變的:
const int *a=&b;
int const *a=&b;
說明指針本身的值不可改變,但指向的內容可改變:
int * const a = &b;
說明指針為指向常數的常指針,即指針本身與指針指向的內容都不可改變:
const int * const a = &b;
說明引用為常數引用,即不能改變引用的值:
const int &a=100。
在定義函數時使用:
做為參數使用,說明函數體內是不能修改該參數的:
void func(const int a);
void func(int const a);
做為返回值使用,說明函數的返回值是不能被修改的:
const int func();
在函數中使用const,情況與定義變量的情況基本一致:
int func()
{
Const int a=10;
…
}
二、C++中區別于C的const用法主要分為以下兩種
const類成員
const類成員在對象構造期間允許被初始化并且在以后不允許被改變。const類成員和一般的const 變量有所不同。const類成員是對應于每個對象而言,它在對象構造期間被初始化,在這個對象的生存周期中不允許被改變。
const 成員函數
const 成員函數不允許在此函數體內對此函數對應的類的所有成員變量進行修改,這樣可以提高程序的健壯性。Const一般放在函數體后:
void fun() const。