【发布时间】:2010-07-07 02:21:22
【问题描述】:
在我的编译器项目中,我有一个类似的枚举
enum Result {
No,
Maybe,
Yes
};
我已将No 明确放在第一位,这样我就可以依赖false 的布尔评估。如果我的编译器不确定某事,并且必须等待事实直到运行时,它的分析函数将返回Maybe。像这样使用
if(!typesEqual(t1, t2)) {
diagnose(types_unequal) << t1 << t2;
}
我想知道您或您的公司是否认为不与No 明确比较是不好的风格
if(typesEqual(t1, t2) == No) { /* ... */ }
明确比较对我来说似乎很罗嗦,但依赖隐式布尔转换让我感到内疚。你以前有过这种感觉吗,你是怎么处理的?
【问题讨论】:
-
我想我要把它变成 CW,因为它看起来更像是一个风格问题!
标签: c++ boolean enumeration