пожалуйста, помогите мне определить, какой из следующих кодов является более оптимизированным?
for(int i=0;i<count;i++)
{
switch(way)
{
case 1:
doWork1(i);
break;
case 2:
doWork2(i);
break;
case 3:
doWork3(i);
break;
}
}
ИЛИ
switch(way)
{
case 1:
for(int i=0;i<count;i++)
{
doWork1(i);
}
break;
case 2:
for(int i=0;i<count;i++)
{
doWork2(i);
}
break;
case 3:
for(int i=0;i<count;i++)
{
doWork3(i);
}
break;
}
В первом случае возникают накладные расходы, связанные с всегдапроверкой условия переключения на каждой итерации. Во втором случае накладных расходов нет. Я чувствую, что второй случай намного лучше. Если у кого-то есть другой обходной путь, пожалуйста, помогите мне, предложив его.