枚举与#define宏的区别
1),#define 宏常量是在预编译阶段进行简单替换。枚举常量则是在编译的时候确定其值。
2 ),一般在编译器里,可以调试枚举常量,但是不能调试宏常量。
3 ),枚举可以一次定义大量相关的常量,而#define 宏一次只能定义一个。
1),#define 宏常量是在预编译阶段进行简单替换。枚举常量则是在编译的时候确定其值。
2 ),一般在编译器里,可以调试枚举常量,但是不能调试宏常量。
3 ),枚举可以一次定义大量相关的常量,而#define 宏一次只能定义一个。
枚举能做到事,#define 宏能不能都做到?如果能,那为什么还需要枚举?
一方面枚举可以集中管理数据,具有相同属性的整形数据可以使用枚举存放;另外枚举可以实现“取值的自增”(当然也可以指定每个枚举的值),编写代码更容易,减少出错的机会,后续维护时如果需要新增一个信息无需计算该信息取值。