
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Это из области эффективного программирования.
...никакой оптимизатор не может сказать, насколько инвариантым является вызов той или иной функции.
...для упрощения расчётов (если программист - не параноик) необходимо предположить, что она инвариантна и перед первым использованием (которым обязательно должна быть проверка на 0) возвращённое значение необходимо закешировать
Наверное, мы немного о разном. Лично мне работа оператора for(выражение1; выражение2; выражение3) представлялась так: при запуске цикла программа сама запоминает (кэширует) значения выражений 1-3 и далее при каждой новой итерации цикла неявно обращается именно к этим запомненным значениям. Поскольку на примере выражения2 это оказалось не так, и был задан вопрос, касающийся особенностей оператора for(), а не особенностей вызываемых им функций: "в каких ещё местах цикла for() вызовы функций подразумеваются инвариантными? В каких ещё операторах имеет место быть инвариантность вызова функций".
Из ответа, в общем-то, понял, что применительно к любым операторам следует исходить из того, что ничего они самостоятельно не запоминают (не кэшируют), а эффективность кода держится на опыте программиста. Надеюсь, вывод правильный :)
Вопрос не в подходе, а в снятии конкурентов с пробега:)
Дошло, но не сразу ..:) Снятие с пробега путём дисквалификации за "инвалид_стопы"? А стандартной библиотекой там эксперт случайно не пользуется?
У Матуса Германа, тот который в текущий момент является лидером, в журнале много сообщений [invalid volume]. Тоже надо снять с дистанции.))))
Из ответа, в общем-то, понял, что применительно к любым операторам следует исходить из того, что ничего они самостоятельно не запоминают (не кэшируют), а эффективность кода держится на опыте программиста. Надеюсь, вывод правильный :)
Ну конечно же не запоминают. Иначе про это было бы написано в документации. А там чётко показана структура-эквивалент, из которой всё доходчиво видно.
И в C++ также, и в Pascal'е, Delphi, и в Java'е. Про другие языки не в курсе...
Это бы ограничило некоторые возможности языков программирования. Язык программирования должен быть гибким, насколько это возможно.
Ну конечно же не запоминают. Иначе про это было бы написано в документации. А там чётко показана структура-эквивалент, из которой всё доходчиво видно.
И в C++ также, и в Pascal'е, Delphi, и в Java'е. Про другие языки не в курсе...
Это бы ограничило некоторые возможности языков программирования. Язык программирования должен быть гибким, насколько это возможно.
... в журнале много сообщений [invalid volume]. Тоже надо снять с дистанции.))))
Неужели ненормализованные объёмы? Или забыл установить ограничения на 5 литров?
Причина непонятна. В журнале значения объёмов по нулям:
А куда кстати делся первый лидер? Вроде из Испании. Забыл его ник. Либо слился и уже далеко внизу. Либо дисквалифицирован. Не могу найти его теперь.)))
Про дисквалификацию объявляют официально и редко. Чуть ли не раз в месяц.
А по объёмам нулевое значение - это уже зона ответственности программиста. Причём, не обязательно ошибка. Так как используется стандартная библиотека, то на печать отправляется результат выполнения функции OrderCheck(), а само обращение эксперта к серверу с запросом на нулевой объём может и отсутствовать.
А куда кстати делся первый лидер? Вроде из Испании. Забыл его ник. Либо слился и уже далеко внизу. Либо дисквалифицирован. Не могу найти его теперь.)))
Наберите в фильтре слово "Испания" и всё увидите. Испанцев всего трое на Чемпионате. Наш экс-лидер теперь внизу.
Да, спасибо за показательные примеры! ...А в документации иногда много чего "не написано", поэтому приходится крутиться-спрашивать.
Не за что. А иногда Мы не внимательно читаем! :))) Или не пытаемся вникнуть и идём за помощью к "Старшим".