Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Каких методов? Какие сигнатуры?
Любых методов.
Любых методов.
А причем тут это?
Да, работаем, как с одномерным. Описанием структуры данных можно не заморачиваться,- читаем все подряд, как в строке.
А причем тут это?
Вы не сможете определить функцию (например, удаления элемента) с одинаковым названием (например, ArrayRemove), определенную одинаково для массивов разной размерности (если только Вы не разработчик компилятора MQL)
Кроме того, Вы не сможете определить такую функцию с одинаковым названием, перегрузив несколько вариантов вызовов
Придется писать вот так:
ArrayRemove(var&[],int)
ArrayRemove2(var&[][],int)
ArrayRemove3(var&[][][],int)
ArrayRemove4(var&[][][][],int)
Поэтому и работа с многомерным массивом как с одномерным лишена смысла, если только Вы не хотите переопределять все функции работы с массивами заново в каждом из классов, которые их используют
Вы не сможете определить функцию (например, удаления элемента) с одинаковым названием (например, ArrayRemove), определенную одинаково для массивов разной размерности (если только Вы не разработчик компилятора MQL)
Кроме того, Вы не сможете определить такую функцию с одинаковым названием, перегрузив несколько вариантов вызовов
Придется писать вот так:
ArrayRemove(var&[],int)
ArrayRemove2(var&[][],int)
ArrayRemove3(var&[][][],int)
ArrayRemove4(var&[][][][],int)
Поэтому и работа с многомерным массивом как с одномерным лишена смысла, если только Вы не хотите переопределять все функции работы с массивами заново в каждом из классов, которые их используют
Да. Но не такая уж и беда.
Вы не сможете определить функцию (например, удаления элемента) с одинаковым названием (например, ArrayRemove), определенную одинаково для массивов разной размерности (если только Вы не разработчик компилятора MQL)
Кроме того, Вы не сможете определить такую функцию с одинаковым названием, перегрузив несколько вариантов вызовов
Придется писать вот так:
ArrayRemove(var&[],int)
ArrayRemove2(var&[][],int)
ArrayRemove3(var&[][][],int)
ArrayRemove4(var&[][][][],int)
Поэтому и работа с многомерным массивом как с одномерным лишена смысла, если только Вы не хотите переопределять все функции работы с массивами заново в каждом из классов, которые их используют
Илья, Вы идете от приема программирования к постановке задачи.
Ползай задом наперед, делай все наоборот.
Моя внучка уже спит, иначе она обратила бы Ваше внимание на то, что элементы массива в памяти МТ расположены непрерывно.
элементы массива в памяти МТ расположены непрерывно.
И какое по Вашему это имеет отношение к поставленной задаче (классу задач - унифицированная работа с массивами разной размерности через функции)?
Например, Вы хотите сделать функцию удаления элемента из массива вне зависимости от его размерности. Или Вы хотите сделать класс, который работает с массивами разной размерности. Как Вы думаете, у Вас это получится в mql?