Почему нельзя объявить указатели в Mql4/5?

 

Просьба к разработчикам.

Очень не хватает возможности объявления указателей, как в С++.

 
Vladimir Simakov:

Просьба к разработчикам.

Очень не хватает возможности объявления указателей, как в С++.

Начните с этого https://www.mql5.com/ru/docs/basis , есть указатели .

Документация по MQL5: Основы языка
Документация по MQL5: Основы языка
  • www.mql5.com
Язык MetaQuotes Language 5 (MQL5) является объектно-ориентированным языком программирования высокого уровня и предназначен для написания автоматических торговых стратегий, пользовательских технических индикаторов для анализа разнообразных финансовых рынков. Он позволяет не только писать разнообразные экспертные системы, предназначенные для...
 
Vladimir Ananich:

Начните с этого https://www.mql5.com/ru/docs/basis , есть указатели .

Указатель – переменная, значением которой является адрес ячейки памяти.

Я про это. В Mql4/5 есть возможность передавать переменную по ссылке (&var), но нельзя объявить, например: int *var

 
Vladimir Simakov:

Указатель – переменная, значением которой является адрес ячейки памяти.

Я про это. В Mql4/5 есть возможность передавать переменную по ссылке (&var), но нельзя объявить, например: int *var

Ясно . А за чем тебе это ?

 
Vladimir Ananich:

Ясно . А за чем тебе это ?

Например, для организации доступа к значению из разных классов

class Ca{
   int *a;
...
   void  Init(int m_a){a=m_a}
};

int a;
Ca class;

OnInit(){
   class.Init(&a);
...
}
 

Понятно .

 

https://www.mql5.com/ru/docs/basis/types/object_pointers

Вот есть похожее .

Документация по MQL5: Основы языка / Типы данных / Указатели объектов
Документация по MQL5: Основы языка / Типы данных / Указатели объектов
  • www.mql5.com
//| Script program start function                                    | //|  Объекты всегда передаются по ссылке                             | //| Передача массива объектов                                        | //| Передача массива указателей на объект                            |
 
Vladimir Ananich:

https://www.mql5.com/ru/docs/basis/types/object_pointers

Вот есть похожее .

Это дескриптор класса, а мне нужен указатель на ячейку физической памяти.
 
Vladimir Simakov:
Это дескриптор класса, а мне нужен указатель на ячейку физической памяти.

не будет, разработчики давно определили свою позицию в этом вопросе

https://www.mql5.com/ru/forum/1111/page706#comment_178590

используйте другие способы работы с классами, "оборачивайте класс в класс" и пр. премудрости .... 

ЗЫ: классы, ну да ладно, реально или через глобальные переменные или через наследования или через написание промежуточного класса... можно еще как то работать, но вот отсутствие работы с динамическими многомерными массивами... если честно аж бесит, простые задачи превращаются в некое изобретательство как сделать оптимально и быстро примитивную операцию, тот же Alglib весь построен на классе CMatrix, при работе с матрицами один геморой, а не работа, постоянно нужно тянуть размерности матриц ибо CMatrix не умеет возвращать размер столбцов.... пришлось писать еще один класс, чтобы обернуть CMatrix... увлекательно делать простые вещи )))

Ошибки, баги, вопросы
Ошибки, баги, вопросы
  • 2012.04.07
  • www.mql5.com
Общее обсуждение: Ошибки, баги, вопросы
 
Igor Makanu:

не будет, разработчики давно определили свою позицию в этом вопросе

https://www.mql5.com/ru/forum/1111/page706#comment_178590

используйте другие способы работы с классами, "оборачивайте класс в класс" и пр. премудрости .... 

ЗЫ: классы, ну да ладно, реально или через глобальные переменные или через наследования или через написание промежуточного класса... можно еще как то работать, но вот отсутствие работы с динамическими многомерными массивами... если честно аж бесит, простые задачи превращаются в некое изобретательство как сделать оптимально и быстро примитивную операцию, тот же Alglib весь построен на классе CMatrix, при работе с матрицами один геморой, а не работа, постоянно нужно тянуть размерности матриц ибо CMatrix не умеет возвращать размер столбцов.... пришлось писать еще один класс, чтобы обернуть CMatrix... увлекательно делать простые вещи )))

Печалька...
 
Vladimir Simakov:

Просьба к разработчикам.

Очень не хватает возможности объявления указателей, как в С++.

Не проблема. Сходу, через ДЛЛ например, уходите в С++ или куда хотите, и делайте что угодно, и не только указатели, но и потоки, и что душа пожелает. Терминал, в конце концов, только и не более, чем поставщик данных и исполнитель ваших заявок.

ЗЫ не так давно MQ обещали сделать функции обратного вызова, но обещанного 3 года ждут.) А пока вполне можно обойтись и без этого.

Вообще, невозможно представить, что MQ в состоянии самостоятельно создать язык и среду по функциональности не уступающую современным языкам и средам программирования. Другие терминалы этим даже не заморачиваются, и, либо делают API, либо поддержку "стандартных" языков программирования.

Причина обращения: