Какие руководящие принципы могут быть соблюдены при выборе варианта if - else if - else и switch - case?Простые государственные машины. Когда переключатель() бить if - else if - else
Некоторые примеры эквивалентных пар структур. Или они?
int a;
#define const1 42
#define const2 666
if(a == const1){};
switch(a){
case const1: {}
break;
}
if(a == const1){}
else {}
switch(a){
case const1: {}
break;
default: {}
break;
}
if(a == const1){}
else if(a == const2){}
else {}
switch(a){
case const1: {}
break;
case const2: {}
break;
default: {}
break;
}
С этого момента, я думаю, что переключатель определенно выше с точки зрения удобочитаемости и производительности.
На самом деле, я нахожусь в последней ситуации, пытаясь решить, в какую сторону идти.
Это перерыв, а не тормоз – MOHAMED
Обычно, когда у вас есть 'enums' и вы хотите проверить их, вы используете' switch case'. В другом случае, о котором вы уже описали, слишком много условий 'else if' делают код менее читаемым. – noMAD
коммутатор всегда лучше, поскольку во время компиляции создается сводная таблица, и ее вопрос заключается в их возврате. но имея дело с c-струнами? –