Ошибки, баги, вопросы - страница 3711
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Возможно ли как-то узнать, сколько выделено элементов под массив с учетом Reserve-параметра?
Ты мне не тычь. Во-вторых, посмотри значение ИМХО.
Значение ИМХО и так знаю, и это никак тебе не дает права выражать общее мнение, чего тебе не доверяли. А про "тычь" - если с чсв проблем нет, то и с "ты" не должно быть.
такие штуки в редакторе сильно раздражают, проще поделить на 5 include, что там за проекты такие что в include не помещаются функции в которые раз в месяц заглядываешь, делать в них просто нечего уже
а вот подсветка выделенного это очень хорошо
если писать таких проекты что надо между 10 функциями постоянно мотаться, то вы профи, так и используйте проф. редактор, зачем тут это городить
https://www.mql5.com/en/forum/459954
К сожалению, это грубая оценка.
Я подозреваю, что штатного способа нет.
Но, как отметил Alain Verleyen, при желании это можно самому отслеживать из кода.
Грубо говоря, завести счетчик, который будет хранить актуальное количество зарезервированых элементов. Инициализировать нулем и обновлять каждый раз при вызове ArrayResize, исходя из текущего значения переменной и передаваемых в ArrayResize значений. Придется массив в класс оборачивать, а размер изменять только с помощью специального метода, который, кроме вызова ArrayResize, обновляет счетчик зарезервированных "элементов". В общем, в теории можно, но сложно, громоздко и будут трудности с тем, чтобы переобуть существующий код. Звучит как нецелесообразная затея только лишь для того, чтобы знать количество зарезервированных элементов. Проще, наверное, поглядывать на MQL_MEMORY_USED если есть повод беспокоиться о памяти.
Грубо говоря, завести счетчик, который будет хранить актуальное количество зарезервированых элементов. Инициализировать нулем и обновлять каждый раз при вызове ArrayResize, исходя из текущего значения переменной и передаваемых в ArrayResize значений. Придется массив в класс оборачивать, а размер изменять только с помощью специального метода, который, кроме вызова ArrayResize, обновляет счетчик зарезервированных "элементов". В общем, в теории можно, но сложно, громоздко и будут трудности с тем, чтобы переобуть существующий код. Звучит как нецелесообразная затея только лишь для того, чтобы знать количество зарезервированных элементов. Проще, наверное, поглядывать на MQL_MEMORY_USED если есть повод беспокоиться о памяти.
Ну, к стати, можно упростить (с потерей точности). Я в третий параметр всегда передаю одинаковое значение, которое храню константой:
При условии, что SOME_ARR_RESERVE_SIZE будет передаваться в третий параметр для абсолютно каждого вызова ArrayResize, вам достаточно просто хранить максимальный размер массива. В таком случае вы будете знать, что под массив выделено от maxArrSize до (maxArrSize + SOME_ARR_RESERVE_SIZE) элементов.
от maxArrSize до (maxArrSize + SOME_ARR_RESERVE_SIZE)
В общем, в теории можно, но сложно
fxsaber #:
Спасибо. Наверное, это неправильно, что нормального способа нет.
Было бы круто, если бы добавили что-то подобное. Это одна из моих старых хотелок, которую я не озвучивал.