История изменений
Исправление slovazap, (текущая версия) :
Спасибо, я знаю. У вас какие-то конкретные возражения есть, или так и будете очевидные вещи повторять?
Ещё раз, при оптимизации компилятор имеет полное право полагаться и полагается на то что UB не случается, потому что когда UB случается, уже не важно что и как он наоптимизировал - любое поведение корректно. Из того, что UB не случается могут следовать некоторые факты о состоянии программы, здесь - то что цикл не выполнится более двух раз, это условие полностью покрывает условие счётчика, поэтому про последний можно вообще забыть.
Исходная версия slovazap, :
Спасибо, я знаю. У вас какие-то конкретные возражения есть, или так и будете очевидные вещи повторять?
Ещё раз, при оптимизации компилятор имеет полное право полагаться и полагается на то что UB не случается, потому что когда UB случается, уже не важно что и как он наоптимизировал - любое поведение корректно. Из того, что UB не случается могут следовать некоторые факты о состоянии программы, здесь - то что цикл не выполнится более двух раз, это условие полностью покрывает условие счётчика, про него можно вообще забыть.