LINUX.ORG.RU

История изменений

Исправление red75prim, (текущая версия) :

Преобразование в более узкий тип определено как truncation. В более широкий как zero- или sign-extend в зависимости от знаковости типа. Сложение и умножение знаковых чисел в релизной сборке определено как two’s complement, беззнаковых как аримфметика по модулю.

Никаких UB там нет.

Если нужно UB, то придётся использовать nightly и std::intrinsics::unchecked_add().

Исправление red75prim, :

Преобразование в более узкий тип определено как truncation. В более широкий как zero- или sign-extend в зависимости от знаковости типа. Сложение и умножение знаковых чисел в релизной сборке определено как two’s complement, беззнаковых как аримфметика по модулю.

Никаких UB там нет.

Исходная версия red75prim, :

Преобразование в более узкий тип определено как truncation. В более широкий как zero- или sign-extend в зависимости от знака. Сложение и умножение знаковых чисел в релизной сборке определено как two’s complement, беззнаковых как аримфметика по модулю.

Никаких UB там нет.