C
語言中是沒有
const
的,一般都使用
#define
#define
有一個很顯著的缺陷就是它在定義的時候不會去檢查是否合法,它隻是作了一個單純的字元替換,甚至編譯都不會去檢查,使用不當則容易出現運作時錯誤。
可能是出于此考慮吧,
C++
就引入了一個
const
來專門用來修飾常量。
const它自然就是修飾常量咯,它修飾的常量必須在定義時初始化,且一經定義就不允許修改了。
注意和
java
的
final
區分一下,
final
修飾局部變量時是可以先定義後賦初值的,不過在使用前必須要給定初值。
另外
const
還有一個神奇的用法,就是有時候可以不顯式定義。
如果常量定義語句中所要定義的常量是整型,那麼類型關鍵字
int
可以省略。
比如:
int a = 1,b = 2;
const c = a + b;
const int d = a + b;