在 C 中模拟布尔值可以这样完成:
int success;
success = (errors == 0 && count > 0);
if(success)
...
包含stdbool.h
以下内容可以完成:
bool success;
success = (errors == 0 && count > 0) ? true : false;
if(success)
...
据我了解,逻辑和比较运算符应返回 1 或 0。此外,stdbool.h
应定义常量,以便true == 1
和false == 0
.
因此以下应该工作:
bool success;
success = (errors == 0 && count > 0);
if(success)
...
它确实适用于我测试过的编译器。但是假设它是可移植代码是否安全?(假设stdbool.h
存在)
由于 bool 是内部类型,C++ 编译器的情况是否有所不同?