c++布尔问题
在 c++ 中,布尔值是 true == 1,false == 0 吗?谢谢
in c++ , the bool , is that true == 1, false == 0?? thanks
推荐答案
false == 0
and true = !false
即任何不为零且可以转换为布尔值的东西都不是false
,因此它必须是true
.
i.e. anything that is not zero and can be converted to a boolean is not false
, thus it must be true
.
一些需要澄清的例子:
if(0) // false
if(1) // true
if(2) // true
if(0 == false) // true
if(0 == true) // false
if(1 == false) // false
if(1 == true) // true
if(2 == false) // false
if(2 == true) // false
cout << false // 0
cout << true // 1
true
评估为1
,但任何不是false
的int
(即0
)评估为true
但不等于到true
,因为它不等于 1
.
true
evaluates to 1
, but any int
that is not false
(i.e. 0
) evaluates to true
but is not equal to true
since it isn't equal to 1
.
相关文章