​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;

这个​​c​​​和​​d​​其实是一样的,都是可行的。

当然咯,前面还提到了#define的缺陷,而const显然是会在编译时对常量的合法性进行检查的。