【发布时间】:2011-02-13 01:55:32
【问题描述】:
我可以为任何 C++ 编译器假设 (bool)true == (int)1 吗?
【问题讨论】:
-
您问题中的演员表是多余的,是否应该颠倒?
-
他不是说他们是演员,他是说
bool t = true; int n = 1; if (t == n) {...} ; -
@egrunin: 嗯,但是 true 是一个 bool 而 1 是一个 int。 :)
-
对,我是说值的类型。
-
(int) true是1的整数值,但if (pointer)之类的东西如果pointer != 0则通过 then 部分。唯一可以假设为真的是false == 0和true != 0(当转换为int时,true的计算结果为1)