Здравствуйте, kov_serg, Вы писали:
_NN>>Тут можно нарваться на сюрпризы.
_>Компилятор должен помогать программисту в его работе быть скучным и предсказуемым, а не удивлять его сюрпризами. Короче шланг гавно.
Есть вариант делать предсказуемое поведение и жаловаться на неоптимальносгенерируемый код.
Каков ваш выбор ?
Например, у нас беззнаковые числа имеют предсказуемость при переполнении и в итоге получаем лишние инструкции процессора от которых не избавиться.
Пример:
https://gcc.godbolt.org/z/11rWEjzdv
Расскажите как часто вы пользуетесь определённым переполнением знаковых чисел, а не полагаетесь на неопределённое поведение в случае переполнения.
Есть
библиотека jtckdint, а начиная с C++26 будет
Checked integer arithmetic в стандартной библиотеке.
Уже пользуетесь и пишете скучный и предсказуемый код ?