【发布时间】:2011-09-24 03:18:33
【问题描述】:
我见过一些看起来像这样的代码:
if (a) return false;
if (b) return false;
if (c) return false;
return true;
上面和上面的性能有区别吗
if (a || b || c) return false;
else return true;
一般来说,处理这个问题的首选情况是什么?也许在我的第二个示例中没有 else ?
编辑:似乎很多人被我返回 true 或 false 并建议返回 !(a || b || c) 的事实误导了。这不是我想问的。想象一下,如果我不想返回真或假,而是想返回“是”或“否”,或者 23423 或 3。
【问题讨论】:
-
为什么不简单地使用
return a || b || c(假设实际表达式a、b和c相当短......) -
他可能想要返回 1 和 2 而不是 true 或 false?
-
@Dirk:给出的例子是
return !(a || b || c),但我完全同意使用return表达式。 -
“想象一下,如果不是返回真或假”...
return !(a || b || c) ? "Yes" : "No";(或return "Yes\0No\0" + (a || b || c) * 4;;-P) -
WTF!
return "Yes\0No\0" + (a || b || c)*4;??请不要建议你不希望你的同事写的东西,你可能会让别人认为混淆代码是个好主意。你肯定不想维护一个充满这种类型代码的产品......
标签: c++ if-statement