- #define <宏名,别名> <替换文本,真正的名称>
- 例如: #define MAX 65535
注:宏一般用于定义值的别名,在预处理阶段,会将别名替换为真正的名称(文本层面的替换)
所以宏常量没有范围的说法,但是替换到具体的使用场景时,需要考虑数值范围
宏定义的目的:
预处理阶段主要任务
①头文件包含;②条件编译;③宏定义展开
const int max = 20;
#define 定义的常量是全局的。如果类中要定义常量,应该使用const修饰数据成员
但是要注意在编译时被全部求值数据成员只在某个对象的生存期内是常量,而对于整个类而言是可变的
类可以创建多个对象,不同对象的const值可不同;所以不能在类声明中初始化const数据成员,const数据成员初始化只能在类构造函数的初始化表中进行
注: C++ 中一种派生数据类型,它是由用户定义的若干枚举常量的集合
enum 枚举名 {枚举元素1,枚举元素2,……};
注:编译过程就能得到计算结果的表达式