похоже, что последний компилятор C ++ представил новую функциональность
Нет.Так C ++ всегда указывался.
, если переменная пересекает свое максимальное значение, ее значения перезапускаются с 0
Если целое число без знака результат вычисления не может быть представлен типом, тогда вместо этого результатом будет представимое значение, которое соответствует математическому результату по модулю 2 n , где n - количество бит в представлении (т. е. конгруэнтноес наибольшим представимым значением + 1).
Другими словами, (наибольшее представимое целое число без знака + 1) равно 0, как вы заметили.
Обратите внимание, что это правило не применяется к знакуцелые числа.Переполнение целого числа со знаком приводит к неопределенному поведению.
PS Для базового типа не определена операция, генерирующая исключение.Большинство стандартных библиотечных функций тоже не выдают std::overflow_error
.