История изменений
Исправление rmammoth, (текущая версия) :
Так в любом языке при изменении уровня оптимизации по скорости тоже подобные вещи пролазят, потому что лишние вызовы и инструкции нужно удалять.
В C/C++ код
if(x != 0 && y/x > 100) { /* some code */ }
никогда не приведет к делению на 0. Независимо от опций компиляции, оптимизаций и т.д. Разве что при баге в компиляторе, но на то он и баг.
Что мы упустим при этом?
Мы получим трудноуловимую ошибку, зависящую от опций компиляции, только и всего.
Исходная версия rmammoth, :
Так в любом языке при изменении уровня оптимизации по скорости тоже подобные вещи пролазят, потому что лишние вызовы и инструкции нужно удалять.
В C/C++ код
if(x != 0 && y/x > 100) { /* some code */ }
никогда не приведет к делению на 0. Независимо от опций компиляции, оптимизаций и т.д. Разве что при баге в компиляторе, но на то он и баг.