Chinaunix首页 | 论坛 | 博客
  • 博客访问: 344559
  • 博文数量: 46
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 562
  • 用 户 组: 普通用户
  • 注册时间: 2013-05-14 13:32
个人简介

先知者为师

文章分类

全部博文(46)

文章存档

2016年(1)

2015年(6)

2014年(20)

2013年(19)

我的朋友

分类: LINUX

2013-06-17 14:05:38

(1)从处理过程的角度看:

#define宏是由编译预处理器在预编译处理时处理的,而且只做简单的字符串的替换。枚举常量则是在编译的时候确定其值的。

(2)从调试的角度看:

通常情况下,在编译器里,可以调试枚举常量,而不能调试宏常量。

(3)从数据的类型看:

#define可以编译任意类型的常量,而枚举只能是定义整型常量。

(4)从代码编写角度看:

枚举可以一次定义大量常量,而#define宏只能一次定义一个。

(5)从可维护性来看:

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

(6)枚举的取值范围已经限定了,容易进行参数的检查,而define没有这种检查

阅读(3775) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~