Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
...Какой вариант используется в MQL неизвестно...
Добрый день. Память компьютера имеет одинаковую производительность не зависимо от того, используется ли она в контексте стека или кучи. Сам менеджмент динамической памяти зависит от реализации сборщика мусора: например это может быть подсчет ссылок как в Питоне (более медленный вариант) или анализ эпох поколений объектов с обходом графа исполнения в background процессе (Net CLR). Какой вариант используется в MQL неизвестно, однако можно предположить его крайнюю эффективность, т.к. пользователю MQL5 доступен оператор delete напрямую, что значительно упрощает работу самого GC. В связи с этим Ваши опасения по поводу overhead'a при использовании new напрасны - смело используйте динамическую память.
Что касается "переполнения стека" то встретится с этим кейсом в современных системах можно разве что при использовании сложной рекурсии или при ошибке в рекурсивном алгоритме. Современная программа всегда работает в защищенном режиме OC в виртуальном адресном пространстве, с динамической подгрузкой страниц памяти, поэтому не переживайте: стек не закончится:)
Ложное утверждение.
В МКЛ нет сборщика мусора.
откуда информация? а на чем написан МТ4 / МТ5 ? - есть информация?
;)
ЗЫ: максимум что в свободном доступе - вакансии от Метаквот, там написаны требования к программистам соискателям ;)
откуда информация? а на чем написан МТ4 / МТ5 ? - есть информация?
;)
ЗЫ: максимум что в свободном доступе - вакансии от Метаквот, там написаны требования к программистам соискателям ;)
Какая разница на чем он написан? В mql, объекты созданные через new сами не удаляются. Кстати, в с++ тоже))
В МКЛ нет сборщика мусора.
Дмитрий, ты не прав. Вот три довода почему в MetaTrader все-таки есть сборщик мусора:
Ложное утверждение.
З.Ы. А вообще ты сильно изменился за эти годы. Озлобленным каким-то стал. Раньше помню много конструктива предлагал. Сейчас же постоянно в какие-то свары скатываешься: одни бессмысленные споры/опровержения/разоблачения. Для чего все это? Хочешь потяжелее ударить? - сам поднесу тебе камень: бей как хочешь, но жалко мне тебя все равно.
Дмитрий, ты не прав. Вот три довода почему в MetaTrader все-таки есть сборщик мусора:
1. И не святой дух и не сборщик мусора.
2.3. Фантазировать можно бесконечно.
З.Ы. А вообще ты сильно изменился за эти годы. Озлобленным каким-то стал. Раньше помню много конструктива предлагал. Сейчас же постоянно в какие-то свары скатываешься: одни бессмысленные споры/опровержения/разоблачения. Для чего все это? Хочешь потяжелее ударить? - сам поднесу тебе камень: бей как хочешь, но жалко мне тебя все равно.
Рыдаю!
1. И не святой дух и не сборщик мусора.
2.3. Фантазировать можно бесконечно.
Читаем доки. Оператор new возвращает не указатель на объект, а дескриптор объекта. Осмелюсь предположить, что любой класс оборачивается в некую обертку, котрая благополучно убивает забытый объект при сворачивании программы, заодно любезно указывает на наличие утечек. А вообще этот механизм лучше бы создателям прокомментировать.
Ага, удаляет и пишет сообщение об утечке памяти, только что бы программистам, пишущим советников, было не скучно жить.
Интересно, как получается, вчера была утечка памяти, а сегодня ее уже и в принципе быть не может.
И кстати о птичках.. дескрипторы это тоже указатели. И знаете ли, от самого слова, ничего не меняется, дескриптор ли, указатель, идентификатор.