История изменений
Исправление Siborgium, (текущая версия) :
Бред. Константность условия здесь ни при чем.
Если немного почитать документ по ссылке, то проблемой является отсутствие forward progress. Который в бесконечном цикле может выражаться только в виде сайдэффектов.
Т.е. даже если напихать сложных и долгих вычислений в цикл, если они не создают сайдэффектов в процессе – это UB. Или если условие не константное, но компилятор сможет доказать, что оно никогда не вычислится в false.
Исправление Siborgium, :
Бред. Константность условия здесь ни при чем.
Если немного почитать документ по ссылке, то проблемой является отсутствие forward progress. Который в бесконечном цикле может выражаться только в виде сайдэффектов.
Т.е. даже если напихать сложных и долгих вычислений в цикл, если они не создают сайдэффектов в процессе -- это UB. Или если условие не константное, но компилятор сможет доказать, что оно никогда не вычислится в false.
Исходная версия Siborgium, :
Бред. Константность условия здесь ни при чем.
int i = 0;
while (++i)
;
Если немного почитать документ по ссылке, то проблемой является отсутствие forward progress. Который в бесконечном цикле может выражаться только в виде сайдэффектов.
Т.е. даже если напихать сложных и долгих вычислений в цикл, если они не создают сайдэффектов в процессе – это UB. Или если условие не константное, но компилятор сможет доказать, что оно никогда не вычислится в false.