История изменений
Исправление firkax, (текущая версия) :
А что, он должен был сгенерировать if(limit>21474837) return 21474837; else return 0;? Т.е. не просто убрать «лишние» действия, но ещё и выдумать дополнительное.
Ну, в плане нужности подобных оптимизаций (и этой, и той что заменяет всю функцию return 0 для int-а) согласен с уже озвученной позицией что помогают они только изначально плохо написанному софту, а для нормального кода - не нужны.
В частности, нормальный программист сам уберёт все лишние проверки если будет считать что тут невозможно переполнение. А раз он их не убрал - значит так надо, и компилятор не должен портить код.
Исходная версия firkax, :
А что, он должен был сгенерировать if(limit>=21474837) return 21474837; else return 0;? Т.е. не просто убрать «лишние» действия, но ещё и выдумать дополнительное.
Ну, в плане нужности подобных оптимизаций (и этой, и той что заменяет всю функцию return 0 для int-а) согласен с уже озвученной позицией что помогают они только изначально плохо написанному софту, а для нормального кода - не нужны.
В частности, нормальный программист сам уберёт все лишние проверки если будет считать что тут невозможно переполнение. А раз он их не убрал - значит так надо, и компилятор не должен портить код.