[求助] 大家都用什么方式来表达枚举类型的变量

yunrun   2017-9-29 18:08 楼主
仪表
大家都用什么方式来表达枚举类型的变量。
方案1:
传统的枚举方式,如下:

view plaincopy to clipboardprint?
enum tDelOpt { OS_DEL_NO_PEND = 1,  
    OS_DEL_ALWAYS,  
};  
与C语言教科书式的表达方式。其优点是编译器也可以参与检查,如果使用其它参数,则会提示错误。

方案2:
简单的宏定义方式,如下

view plaincopy to clipboardprint?
#define OS_DEL_NO_PEND 1  
#define OS_DEL_ALWAYS 2  
uint8_t tDelOpt;  


在使用时均通过switch函数来操作。

view plaincopy to clipboardprint?
switch(tDelOpt)  
{  
case OS_DEL_NO_PEND :  
{  
...;  
break;  
}  
case OS_DEL_ALWAYS :  
{  
...;  
break;  
}  
}  

大家怎么看待这个问题啊?

回复评论 (1)

枚举,主要是用来定义一个数据类型吧。定义之后,后续有类似的变量,可以直接定义即可。单个变量比较两种方式好像没有什么意义。
点赞  2017-10-7 16:16
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复