Но если результат равен 0, то код ведь выполнит.
Только если язык с динамическим приведением, иначе выполнит только при 0.0.
Динамическое приведение же не причем - это приведение в рантайме, но в нашем случае - возможно приведение на этапе компиляции (читай - нам известно, что тип result - int, а сравнение - с double, встроим приведение вида (double)result).
А вот сильная типизация - другое дело, но ведь тогда (впрочем, могу ошибаться, но смысл делать иначе?) оно должно нескомпилироваться / вылететь при выполнении (сравниваем несравнимое без явного приведения же).
Или я как-то не так понял?
А вот сильная типизация - другое дело, но ведь тогда (впрочем, могу ошибаться, но смысл делать иначе?) оно должно нескомпилироваться / вылететь при выполнении (сравниваем несравнимое без явного приведения же).
Или я как-то не так понял?
Что?
> cat test_0.c
#include
int main() {
int result = 0;
if (result >= 0.0 && result gcc test_0.c -o test_0; ./test_0
true
> cat test_0.c
#include
int main() {
int result = 0;
if (result >= 0.0 && result gcc test_0.c -o test_0; ./test_0
true
Парсер поломался... Вот: https://ideone.com/X0qjDI
Может быть я не совсем корректно выразился. Я имел в виду наличие/отстутствие неявного преобразования типов. В плюсах оно есть, да, но ведь в комиксе непонятно, что за язык.
Есть только плюсы, все остальное от лукаваго
А как же сишка?
Тут ещё зависит от компилятора. Зато чел перестал скучать, скилл прокачал ).
Подскажите, а в Javascript подобный код сработает, если result = NaN?
Нет. NaN при сравнении всегда возвращает false
Ну как. Лично я понял, хотя никогда с чужим кодом не работал и все ужасы работы в команде разрабов мне неизвестны.
У меня бывало так, что возвращаясь к проекту через долгое время полгода к примеру, свой код нихуя не узнаешь, думаешь, что за мудак это писал.
А вот это я дико плюсую. Правда таймфрейм может быть еще меньше. Через пару недель могу открыть свой java класс и час втыкать, что тут происходит.
Есть ещё вариант: специальный стилевой хак для защиты кода от воровства. Воришка никогда не может объяснить в чём смысл такого условия.
Чтобы написать коммент, необходимо залогиниться