Mbw*_*Mbw 3 c c++ optimization
考虑以下示例的速度(请忽略这个例子是完全荒谬的):
int multiply(int a, int b) {
if (a == 0 || b == 0) {
return 0;
}
if (a == b) {
return pow(a, 2);
}
return a*b;
}
Run Code Online (Sandbox Code Playgroud)
与
int multiply(int a, int b) {
if (a == 0 || b == 0) {
return 0;
} else if (a == b) {
return pow(a, 2);
} else {
return a*b;
}
}
Run Code Online (Sandbox Code Playgroud)
显然,这里并不是真的有必要,但是当我处理复杂的操作时,我发现在格式化后者时更容易阅读.是否需要更长时间才能在第二个配置中运行?我会牺牲什么吗?
编辑:首先回答OP问题,然后讨论一般情况.
Sepcific-to-your-problem答案:在你的情况下,由于你有回报,在每种条件下,它都会脱离流量控制.在一般情况下,必要时将它们链接起来会更好.
一般答案:是的,基本上当你只使用if时,你的程序正在检查所有条件,即使其中一个条件得到满足.
在执行if,else-if,else的链时,一旦满足其中一个条件,该链中的所有其他条件将被忽略.
| 归档时间: |
|
| 查看次数: |
190 次 |
| 最近记录: |