- 2019.04.08
- www.mql5.com
oO а где это с++ поддерживает такую работу с массивами? В mql работа с массивами на много проще. Есть функция ArrayResize(). Да, она только по первому измерению, работает, а Деда Мороза не существует.
Если надо второе измерение менять, то поможет массив структур:
SS{
double b[];
}
SS a[];
oO а где это с++ поддерживает такую работу с массивами? В mql работа с массивами на много проще. Есть функция ArrayResize(). Да, она только по первому измерению, работает, а Деда Мороза не существует.
Если надо второе измерение менять, то поможет массив структур:
Другими словами это невозможно. В с++ я писал как выше в начале теме, не ругалось оно, направо налево его можно крутить, только напишу без вранья первое измерение я лично эксперементировал никаких функций наподобие ArrayResize я не применял и не знаю есть ли такие в с++, а что касается второго измерения то видел на форумах коды тоже ребята крутили обычными циклами, сам многомерные не тестил в С++, здесь же даже для первого измерения нужна функция ArrayResize. Так в чём смысл этих структур можете подробнее написать, копировать значение из массива в структуру а потом обратно? По правде сказать я хочу использовать 3ёхмерный массив но как я вижу тут и с двухмерными проблема.
Почему работа с массивами такая "кривая" - фиг его знает. Но эта беда длиться уже от сотворения мира, а разработчики упорно эту проблему игнорируют. Так что бубен в руки и танцуем ))))
Хоть один человек меня поддержал. Работа с самыми важными элементами программы, которые хранят очень критические данные для построения роботов и сложных схем кривая до невозможности и такое впечатление что это никогда не прекратиться, сделать что-то сложное и достойное внимания очень сложно, всё это приходится крутить и обходить всеми возможными извращёнными и изредка нормальными методами.
Другими словами это невозможно. В с++ я писал как выше в начале теме, не ругалось оно, направо налево его можно крутить, только напишу без вранья первое измерение я лично эксперементировал никаких функций наподобие ArrayResize я не применял и не знаю есть ли такие в с++, а что касается второго измерения то видел на форумах коды тоже ребята крутили обычными циклами, сам многомерные не тестил в С++, здесь же даже для первого измерения нужна функция ArrayResize. Так в чём смысл этих структур можете подробнее написать, копировать значение из массива в структуру а потом обратно? По правде сказать я хочу использовать 3ёхмерный массив но как я вижу тут и с двухмерными проблема.
У меня ругается, потому что, на самом деле, это невозможно. А если и возможно, то не имеет смысла. Потому что размер может быть указан только при объявлении, потом уже невозможно изменить размер массива.
Проходить в цикле по массиву - пожалуйста, никаких проблем.
Смысл структур - ничего копировать не надо, сразу пользоваться массивами из структур.
Трехмерный массив не проблема:
struct S1{ double a[]; } struct S2{ S1 b[]; } S2 c[];
---
Есть еще вариант: класс CArray(). Но так сложилось, что не пользуюсь им, поэтому не имею практического опыта, поэтому объяснить, как им правильно пользоваться, не смогу.
---
oO а где это с++ поддерживает такую работу с массивами? В mql работа с массивами на много проще. Есть функция ArrayResize(). Да, она только по первому измерению, работает, а Деда Мороза не существует.
Если надо второе измерение менять, то поможет массив структур:
с++ поддерживает записи такого типа
#include "stdafx.h" int _tmain(int argc, _TCHAR* argv[])//аргументы в скобках не обязательны можно просто писать int main() { const int yt=8,tu=3; int mas[yt][tu]={}; return 0; }
mql4 такие записи не поддерживает, но да, для того чтобы изменить размеры нужно заставить программу поверить что они типа const. Манипуляции с const я видел и в mql, наверное в с++ более развита оболочка но математических функций в нём меньше.
с++ поддерживает записи такого типа
mql4 такие записи не поддерживает, но да, для того чтобы изменить размеры нужно заставить программу поверить что они типа const. Манипуляции с const я видел и в mql, наверное в с++ более развита оболочка но математических функций в нём меньше.
Не поддерживаются. А зачем они нужны? Какая от них польза? Никакой.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Например С++ поддерживает записи такого формата
int r=10,r1=2;
int mas[r][r1]; или так
const int r=10;int mas[r];
Можно циклами крутить массивы как угодно, но MQL4 это нечто ,тут что-то сделать почти не возможно, есть только функция которая меняет размер в первом измерении, получается работа со строгими статическими значениями. Может подскажете, я валенок в этом ещё не понимаю, может что-то можно сделать?