История изменений
Исправление alysnix, (текущая версия) :
«ключег -ftrapv gcc для генерации кода перехвата переполнений» не входит в стандарт.
и что? по жизни нужны три вида арифметики - циклическая(игнорируем переполнение), с перехватом переполнения(сигналим) и с переносом (не сигналим, расширяем результат). может еще какие виды.
если все это вводить в стандарт - то как-то жирно получается.
а в плюсах, за счет переопределения операторов, вы можете нарисовать любую арифметику.
вообще с переполнением борются правильным выбором типа операндов, а не перехватом и обработкой ошибки. ибо делать это в рантайме, если аппаратура не поддерживает, слишком затратно.
ps вот примерчик контроля переполнения. оверхед просто чудовищный. чтобы посмотреть, что будет без контроля - убрать -ftrapv из опций компилятора
Исправление alysnix, :
«ключег -ftrapv gcc для генерации кода перехвата переполнений» не входит в стандарт.
и что? по жизни нужны три вида арифметики - циклическая(игнорируем переполнение), с перехватом переполнения(сигналим) и с переносом (не сигналим, расширяем результат). может еще какие виды.
если все это вводить в стандарт - то как-то жирно получается.
а в плюсах, за счет переопределения операторов, вы можете нарисовать любую арифметику.
вообще с переполнением борются правильным выбором типа операндов, а не перехватом и обработкой ошибки. ибо делать это в рантайме, если аппаратура не поддерживает, слишком затратно.
вот примерчик контроля переполнения. оверхед просто чудовищный. чтобы посмотреть? что будет без контроля - убрать -ftrapv из опций компилятора
Исходная версия alysnix, :
«ключег -ftrapv gcc для генерации кода перехвата переполнений» не входит в стандарт.
и что? по жизни нужны три вида арифметики - циклическая(игнорируем переполнение), с перехватом переполнения(сигналим) и с переносом (не сигналим, расширяем результат). может еще какие виды.
если все это вводить в стандарт - то как-то жирно получается.
а в плюсах, за счет переопределения операторов, вы можете нарисовать любую арифметику.
вообще с переполнением борются правильным выбором типа операндов, а не перехватом и обработкой ошибки. ибо делать это в рантайме, если аппаратура не поддерживает, слишком затратно.