是否有效率偏好以下控制流选项之一用于循环或切换另一个?
选项 1:
switch(...){
case 1:
if (...) { ... }
else if (...) { ... }
else if (...) { ... }
.
.
.
else if (...) { ... }
break;
case 2:
.
.
.
}
选项 2:
switch(...){
case 1:
if (...) { ... break; }
if (...) { ... break; }
.
.
.
if (...) { ... break; }
case 2:
.
.
.
}
最佳答案
没有。任何理智的编译器都会生成相同的输出(汇编、字节码等)。对于两者。
您可以使用 gcc -S
为两个版本生成程序集来演示这一点。
关于performance - if then else 的效率.... break 与 if break if break,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4877168/