我发现了一些声明这样的枚举的代码: 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
}
Run Code Online (Sandbox Code Playgroud)
另请参阅Herb Sutter关于为什么C++选择添加内置类型的旧GotW专栏bool.
| 归档时间: |
|
| 查看次数: |
1293 次 |
| 最近记录: |