Expressions and statements
ES.104
Не допускайте нижнего переполнения (underflow)
Причина
Уменьшение значения ниже минимального может привести к повреждению памяти и неопределённому поведению.
Пример (плохой)
int a[10];
a[-2] = 7; // плохо
int n = 101;
while (n--)
a[n - 1] = 9; // плохо (дважды)
Исключение
Используйте беззнаковые типы, если вам действительно нужна модульная арифметика.
Контроль
???