【发布时间】:2013-09-01 18:19:44
【问题描述】:
我继承了一些代码,我看到了一些奇怪的东西:
if (true == someFuncThatReturnsBool())
{
// Do somthing
}
bool someFuncThatReturnsBool()
{
bool retVal = false;
// .... do some stuff
return retVal;
}
在“if”语句中,他们使用true == someFuncThatReturnsBool() 作为布尔表达式,对于布尔值,我通常会这样做:
if (someFuncThatReturnsBool())
{
// Do somthing
}
生成的代码有什么不同(如果有的话)? 使用“true ==”表示法有什么好处,除此之外,为了清楚起见,函数返回布尔值?...类型检查??,我个人看不到任何优势...
谢谢:)
【问题讨论】:
-
你是对的。没有任何优势,只是浪费和冗余的语法,以及可能毫无意义的额外字节码。有人不懂语言。为什么停在 ('true == ...)
? Why not(true == (true == ...))`? -
@EJP 大声笑,谢谢!...这就是我的想法,但是当我看到有人做了某件事时,我“不明白”我认为值得一问...比如,他们知道我不知道什么! :)
-
@MikeSeymour 啊,如果是这样,我很抱歉,我确实看过,但我没想到要在标题中实际添加代码! - 所以我错过了那个
-
@code_fodder:不用道歉;这不是很容易搜索的东西。重复项不会(通常)被删除,并且可以使将来的搜索更容易。
标签: c++ if-statement boolean