【发布时间】:2011-10-27 01:08:36
【问题描述】:
如果我有一些看起来像这样的代码:
if(someInteger || somecomplexfunction() > 0) {
// do something
}
如果someInteger 计算结果为真,是否会调用该函数?
附言使用 GCC 编译 -O2
【问题讨论】:
-
这不仅仅是效率问题,而是语义问题。短路不是优化,而是程序正常运行所必需的,如
if (!s || isspace(*s)) -
@R 当然,我现在觉得很傻。
标签: c performance conditional function-call processing-efficiency