为什么要有枚举类型?枚举类型和define定义出来的常量有什么区别?
为什么要有枚举类型?枚举类型和define定义出来的常量有什么区别?
[解决办法]
枚举常量与宏的区别主要有几点:
1。枚举常量是实体中的一种,但宏不是实体;
2。枚举常量属于常量,但宏不是常量(有些书把类对象宏称为预处理常量,这是错误的说法,标准C/C++没有预处理常量这种不知从哪里冒出来的说法);
3。枚举常量具有类型,但宏没有类型,枚举变量具有与普通变量相同的诸如作用域、值等性质,但宏没有;
枚举类型主要用于限制性输入,例如,某个函数的某参数只接受某种类型中的有限个数值,除此之外的其它数值都不接受,这时候枚举能很好地解决这个问题。