enum Color
{
//里面定义的常量是以1递增的,rRED = 3在这里是初始化,可行,不是更改
RED, //0
GREEN, //1
BLUE //2
};
int main()
{
enum Color c = 2; //在.c文件下编译器没报错,但在.cpp文件下就不行,说明这是种不好的写法,还是写回下面这种写法
enum Color = BLUE;
RED = 3; //语法错误,RED是常量,不能更改
}
为什么使用枚举?
我们可以使用#define定义常量,为什么非要使用枚举?
枚举的优点∶1.增加代码的可读性和可维护性
2.和#define定义的标识符比较枚举有类型检查,更加严谨
3.防止了命名污染(封装) 在其他文件可能会定义形同的宏名,造成歧义,枚举有种封装的特性,很好地预防了这种情况
4.便于调试 define的宏定义在预处理阶段就被替换了,调试是在生成.exe文件后才可以调试的,所以没法对宏进行调试,对枚举则可以
试是在生成.exe文件后才可以调试的,所以没法对宏进行调试,对枚举则可以
5.使用方便,一次可以定义多个常量
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)