我有一个变量,它值可以从0到1不同,所以我想用一个bool类型用于保持该值。你可以使用C++中的bool和int操作符执行哪些操作?
在C++基于这种想法是什么操作都可以做我的第一个操作数是布尔和秒的是整数或浮点数的类型?
例如,这是否有效?
bool exists;
int value;
(...)
value += exists;
value *= exists;
如果是的话,直到C++这些值转换成他们二进制占有并没有发现问题,这样做对那些二进制数的操作,它是有效与做业务不同的操作数?
有意思,'bool b = false; b + = 10;'编译在gcc上,我想知道这是什么意思,尽管 – Slava
@Slava,它意味着'bool'被提升为'int',结果为0,而算术运算结果为10,而不是转换为' bool'结果为1. – SergeyA
@Sergey有趣,'++ b'又如何呢?编译器会生成'b = true;'而不是在这种情况下? – Slava