(1)const定義常量:
const dataType constData=value;//const修飾的類型為dataType的變量value不可變.
(2)指針中使用const,主要有三種方式
a.指針本身是常量,它本身不可變
char* const ptr;
b.指針所指向的內容是常量,指向的內容不可變
const char* ptr;
c.兩者都不可變
const char* const ptr;
(3)函數中使用const
a.傳指針參數前添加const
void* A(const char* Str); //Str指向的內容被修飾為常量
b.傳引用參數前添加const
void* A(const ClassType &obj); //obj在函數體內被修飾為常量
(4)類中使用const
a.使用const修飾成員變量
使用const修飾類的成員函數,表示成員常量,它只能在初始化列表中賦值。如:
class A
{
A(int x): val(x) { } ; //在初始化列表中定義
const int val; //成員常量
}
b.使用const修飾類的成員函數,如 int getNum(int a)const;
這樣當程序修改了類的數據成員或調用了非const成員函數時,編譯器就會報錯。
c.使用const修飾類的對象,或者類對象引用或指針
這對象中的所有數據成員都不能被修改,對於對象指針或對象引用也一樣。
在這種情況下,同時不能通過對象名調用對象中的非const成員,這符合安全規則。