История изменений
Исправление MOPKOBKA, (текущая версия) :
в 99.9 процентов случаев компилятор будет ее компилировать отдельно от контекста использования.
В релизной сборке надо использовать lto, pgo.
а так ты просто заменил проверки на переполнение проверками на значение операндов. это даже длинней по коду, чем просто ловить переполнение.
Такая проверка может быть только в начале программы, а дальше компилятор сам догадывается какой возможный диапазон у значений. Суть именно в том, что бы компилятор узнал какие значения могут быть.
Обычно в хорошей программе есть проверка входных данных. С добавлением в С++ pre/post можно компилятору давать подсказки даже там, где в коде встречаются проблема остановки. И он будет вставлять проверки на переполнения только в малом количестве операций.
Исправление MOPKOBKA, :
в 99.9 процентов случаев компилятор будет ее компилировать отдельно от контекста использования.
В релизной сборке надо использовать lto, pgo.
а так ты просто заменил проверки на переполнение проверками на значение операндов. это даже длинней по коду, чем просто ловить переполнение.
Такая проверка может быть только в начале программы, а дальше компилятор сам догадывается какой возможный диапазон у значений. Суть именно в том, что бы компилятор узнал какие значения могут быть.
Обычно в хорошей программе есть проверка входных данных. С добавлением в С++ pre/post можно компилятору давать подсказки даже там, где в коде встречаются проблемы остановки. И он будет вставлять проверки на переполнения только в малом количестве операций.
Исходная версия MOPKOBKA, :
в 99.9 процентов случаев компилятор будет ее компилировать отдельно от контекста использования.
В релизной сборке надо использовать lto, pgo.
а так ты просто заменил проверки на переполнение проверками на значение операндов. это даже длинней по коду, чем просто ловить переполнение.
Такая проверка может быть только в начале программы, а дальше компилятор сам догадывается какой возможный диапазон у значений. Суть именно в том, что бы компилятор узнал какие значения могут быть.