C++有一种很好的处理常量的方法——使用const关键字来修改变量声明和初始化。
例如,假设需要一个表示一年中月份数的符号常量,请在程序中输入下面这行代码:
const int Months = 12;
这样,常量(如 Months)被初始化后,其值就被固定了,编译器将不允许再修改该常量的值。如果您这样做,g++将指出程序试图给一个只读变量赋值。关键字const叫做限定符,因为它限定了声明的含义。
如果在声明常量时没有提供值,则该常量的值将是不确定的,且无法修改。
提示:如果之前学习过C语言,并打算使用#define来定义符号常量,请不要这样做,而应使用const。
如果以前使用过C语言,您可能觉得前面讨论的#define 语句已经足够完成这样的工作了。但const 比#defien好。首先,它能够明确指定类型。其次,可以使用C++的作用域规则将定义限制在特定的函数或文件中(作用域规则描述了名称在各种模块中的可知程度)。第三,可以将const用于更复杂的类型,如第4章将介绍的数组和结构。