История изменений
Исправление
ckotinko,
(текущая версия)
:
пусть так. но тем не менее это в компиляторе проблема. хотя у нас тут и в треде проблема ширше, я бы даже сказал ширее.
пусть есть некое выражение. в некотором диапазоне входных значений его вычисление наиболее эффективным способом приводит к ошибкам. мы декларируем что в угоду скорости мы не гарантируем корректного вычисления выражения в этом диапазоне. НО в допустимом диапазоне входных значений мы гарантируем корректное вычисление результата выражения. в этом суть оптимизации.
в треде банда жабистов утверждает, что корректное вычисление результата не гарантируется в принципе никогда. потому что тут написано int а значит у нас майдан, все скачем. UB - только за пределами некоторого допустимого интервала. интервал может съужаться в зависимости от операций конечно. т.е. a*b+c*b может стать (a+c)*b но не может стать a+c*b. логику программы нарушать нельзя.
жабисты говорят что раз они увидели слово UB то оно будет везде.
вообще для тупых анонов: вы не имеете права на UB при допустимых входных значениях. UB - только при переполнении. без переполнения UB быть не должно
Исходная версия
ckotinko,
:
пусть так. но тем не менее это в компиляторе проблема. хотя у нас тут и в треде проблема ширше, я бы даже сказал ширее.
пусть есть некое выражение. в некотором диапазоне входных значений его вычисление наиболее эффективным способом приводит к ошибкам. мы декларируем что в угоду скорости мы не гарантируем корректного вычисления выражения в этом диапазоне. НО в допустимом диапазоне входных значений мы гарантируем корректное вычисление результата выражения. в этом суть оптимизации.
в треде банда жабистов утверждает, что корректное вычисление результата не гарантируется в принципе никогда. потому что тут написано int а значит у нас майдан, все скачем. UB - только за пределами некоторого допустимого интервала. интервал может съужаться в зависимости от операций конечно. т.е. a*b+c*b может стать (a+c)*b но не может стать a+c*b. логику программы нарушать нельзя.
жабисты говорят что раз они увидели слово UB то оно будет везде.