Код: Выделить всё
void foo(const int constant)
{
for(int i = 0; i < 1000000; i++) {
// do stuff
if(constant < 10) { // Condition is tested million times :(
// inner loop stuff
}
}
}
Лично я считаю, что проблема неизбежна. Даже если компилятор поместит сравнение перед внешним циклом и установит какую-то логическую переменную «skip_inner_stuff», эту переменную все равно придется проверять при каждом проходе внешнего цикла for.
Что вы думаете по этому поводу? Есть ли более эффективный способ написать приведенный выше сегмент кода, который позволил бы избежать этой проблемы?
Подробнее здесь: https://stackoverflow.com/questions/186 ... de-segment
Мобильная версия