double adDoubleArray[]; // Сюда будем складывать создаваемые дубли
CArrayObj aoObjArray; // Сюда будем складывать указатели на создаваемые объектыfor(uint uiI=0; uiI<uiMaxVars; ++uiI)
{
double dNevDblVar = MathRand(); // Создаем переменную - значение на стекеArrayResize(adDoubleArray,ArraySize(adDoubleArray)+1); // Добавляем место, где будем ее хранить
adDoubleArray[ArraySize[adDoubleArray]-1] = dNevDblVar; // Записываем созданное значение
CObject* poNewObject = new CObject; // Создаем переменную - объект в памяти
aoObjArray.Add(poNewObject); // Добавляем место и размещаем объект в массиве объектов.
};
В обоих случаях - нам даже не надо беспокоиться об удалении объектов, они будут автоматически удалены, для массива дублей - при выходе за
пределы видимости массива, для массива указателей на объекты - в деструкторе.
Безусловно, по-хорошему - надо проверять получаемые величины, корректность выделения места под размещение, корректность создания, но
большинство этим не заморачивается.
В обоих случаях - нам даже не надо беспокоиться об удалении объектов, они будут автоматически удалены, для массива дублей - при выходе за пределы видимости массива, для массива указателей на объекты - в деструкторе.
Безусловно, по-хорошему - надо проверять получаемые величины, корректность выделения места под размещение, корректность создания, но большинство этим не заморачивается.
Вы создаете массив. Вы не объявляете переменную с любым именем, а создаете массив.
Я уже понял, что так, как мне нужно, нельзя сделать в mql5
Вы создаете массив. Вы не объявляете переменную с любым именем, а создаете массив.
Я уже понял, что так, как мне нужно, нельзя сделать в mql5
Можно посмотреть в сторону map контейнера, есть в стандартной
библиотеке Generic. map контейнер использует пару "ключ" : "значение" Имя ключа может выступать как имя
переменной, а значение содержать любой тип.
Но в данном случае нужно помнить, что у map есть временнАя сложность.
На MQL - без бубна не получится, но!, если очень захотеть, то можно ))))))
Бубен не нужен. Достаточно использовать глобальные переменные терминала, их можно генерировать по имени. Это то, что нужно, но, мягко
говоря, не очень эффективно.
Пример?
На "простой помол" будет примерно так:
В обоих случаях - нам даже не надо беспокоиться об удалении объектов, они будут автоматически удалены, для массива дублей - при выходе за пределы видимости массива, для массива указателей на объекты - в деструкторе.
Безусловно, по-хорошему - надо проверять получаемые величины, корректность выделения места под размещение, корректность создания, но большинство этим не заморачивается.
На "простой помол" будет примерно так:
В обоих случаях - нам даже не надо беспокоиться об удалении объектов, они будут автоматически удалены, для массива дублей - при выходе за пределы видимости массива, для массива указателей на объекты - в деструкторе.
Безусловно, по-хорошему - надо проверять получаемые величины, корректность выделения места под размещение, корректность создания, но большинство этим не заморачивается.
Вы создаете массив. Вы не объявляете переменную с любым именем, а создаете массив.
Я уже понял, что так, как мне нужно, нельзя сделать в mql5
Вы создаете массив. Вы не объявляете переменную с любым именем, а создаете массив.
Я уже понял, что так, как мне нужно, нельзя сделать в mql5
Вы можете создать массив с возможностью обращаться к любому его элементу по имени, что вы дали при его создании.
Самый простой пример и способ решения вашей задачи - библиотека Json.
Тупо создавайте "переменные", а потом работайте с примитивным объектом. Сам массив будет за кадром.
Хотя возможности применения абстракции объект значительно шире...
)
PS. А PHP мышление это еще результат сидения в одной точке . От этого угол зрения не меняется.
PPS. Хотя для инициализации массивов через множественные input значения - вполне рабочее решение...Похоже, что все тот же indi-style. D)
Вы создаете массив. Вы не объявляете переменную с любым именем, а создаете массив.
Я уже понял, что так, как мне нужно, нельзя сделать в mql5
Можно посмотреть в сторону map контейнера, есть в стандартной библиотеке Generic.
map контейнер использует пару "ключ" : "значение"
Имя ключа может выступать как имя переменной, а значение содержать любой тип.
Но в данном случае нужно помнить, что у map есть временнАя сложность.
На MQL - без бубна не получится, но!, если очень захотеть, то можно ))))))
Бубен не нужен. Достаточно использовать глобальные переменные терминала, их можно генерировать по имени. Это то, что нужно, но, мягко говоря, не очень эффективно.