Re[2]: Произвол компилятора
От: Qbit86 Россия
Дата: 19.06.14 07:19
Оценка:
Здравствуйте, k55, Вы писали:

k55>Поясни пожалуйста, каким образом переполнение...

k55>влияет на
k55>for(int i=0; i < 10; ++i)

Компилятор вместо «i < 10» статически подставляет «true», потому что полагает i не выходящем из диапазона [-2, 2].
А полагает он это, потому что может. Это его способ отрицания реальности. Если закрыть глаза на ++i, то переполнение исчезнет. Закрыть глаза — одна из возможных реализаций неопределённого поведения.
Глаза у меня добрые, но рубашка — смирительная!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.