История изменений
Исправление wandrien, (текущая версия) :
Из-за этого инварианта про i + 1 корректное написание кода со знаковой арифметикой превращается в танцы в гамаке на лыжах. От этого вреда больше, чем пользы.
Я описываю это следующим образом: абстрагироваться от деталей реализации вам дали, а конкретизироваться до них - нет.
Если язык описывает переполнение «обычной» арифметики как UB, то чисто из соображений практического применения в нем должны быть штатные средства работать с переполняемой арифметикой как с отдельной сущностью. А не делать невинный вид, будто у нас бесконечная разрядная сетка.
Исходная версия wandrien, :
Из-за этого инварианта про i + 1 корректное написание кода со знаковой арифметикой превращается в танцы в гамаке на лыжах. От этого вреда больше, чем пользы.
Я описываю это следующим образом: абстрагироваться от деталей реализации вам дали, а конкретизироваться до них - нет.
Если язык описывает переполнение арифметики как UB, то чисто из соображений практического применения в нем должны быть штатные средства работать с переполняемой арифметикой. А не делать невинный вид, будто у нас бесконечная разрядная сетка.