我发现一些代码声明了这样的枚举: enum boolean {FALSE,TRUE};
没有任何理由,而不是正常使用这个true
和false
已经存在于C ++?
C ++中enum
用作另一个用户定义的布尔值的主要缺点是它不允许从条件表达式自动转换:
enum boolean { FALSE, TRUE };
int main()
{
boolean b;
int i = 0;
int j = 1;
b = ( i == j ); // error
}
另请参阅Herb Sutter的这本旧的GotW专栏,以了解C ++为什么选择添加内置bool
类型。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句