我见过这样的陈述
if(SomeBoolReturningFunc())
{
//do some stuff
//do some more stuff
}
Run Code Online (Sandbox Code Playgroud)
并且我想知道在if语句中放置一个函数是否有效,或者是否有更好的方法将它们分开,就像这样
bool AwesomeResult = SomeBoolReturningFunc();
if(AwesomeResult)
{
//do some other, more important stuff
}
Run Code Online (Sandbox Code Playgroud)
...?
Ed *_* S. 26
我不确定是什么让你认为首先将表达式的结果赋值给变量比评估表达式本身更有效,但它永远不会重要,所以选择增强代码可读性的选项.如果您真的想知道,请查看编译器的输出,看看是否有任何区别.在绝大多数系统中,这可能会导致相同的机器代码.