当我尝试将我的程序与我的两个同学(其中两个)进行比较时,遇到了这个问题,结果是结果很早(大约2秒钟)。请注意,我忘记使用clock()函数。
在if
/ else
条件下,正在使用三元运算符
(Condition) ? (True) : (False);
比使用它慢吗?
if (condition) {
(function if True)
}else {
(function if False)
}
答案 0 :(得分:1)
在速度方面没有差异。仅在要少键入时使用三元条件。
请参见以下示例:
void f1(int i) {
int val = (i > 10) ? i * 5 : i * 10;
}
void f2(int i) {
int val;
if(i > 10){
val = i * 5;
}else{
val = i * 10;
}
}
请参见编译器为这两个函数here生成的程序集。 没有区别。