枚举和#define宏之间的区别

来源:互联网 发布:魔术笔软件 编辑:程序博客网 时间:2024/05/18 03:19

(1)从处理过程的角度看:
#define宏是由编译预处理器在预编译处理时处理的,而且只做简单的字符串的替换。枚举常量则是在编译的时候确定其值的。


(2)从调试的角度看:
通常情况下,在编译器里,可以调试枚举常量,而不能调试宏常量。


(3)从数据的类型看:
#define可以编译任意类型的常量,而枚举只能是定义整型常量。


(4)从代码编写角度看:
枚举可以一次定义大量常量,而#define宏只能一次定义一个。


(5)从可维护性来看:
枚举可以集中管理数据,具相同属性的整形数据可使用枚举,枚举可实现取值的自增,也可指定每个枚举的值,编写代码跟容易,相对来说能减少出错的机会,也便于代码的后期维护和修改。

1 0
原创粉丝点击