MQL5 Компилятор не различает класс и указатель на него - страница 8

 

Я не понимаю, почему не запретить неявное копирование для объектных типов? Какая от него польза? У объектов, которые на самом деле объекты, а не замаскированные под ООП структуры, которые можно удобно передавать по ссылкам, в любом случае логика не сводится к простому содержанию полей. То есть копирование без явной перегрузки оператора = в классе просто не нужно.

 
Ilya Malev:

Где есть * ?

в MQL
 

Это С. Хотите PL? 

Илье. 

 
Alexey Navoykov:
в MQL

И к чему он что в MQL приводит? Можете показать на простом примере?

 
Alexey Navoykov:
Почему не получится?  Есть же операторы * и &  для приведения к тому, что требуется.

У меня не вышло (на случай, если запретят)

class A
{
public:
  int i;
  
  void operator =( const A &Object )
  {
    this = Object;
  }
};

void OnStart()
{
  A a1;
  A* a2 = new A;
  A* b = &a1;
  
  a2 = a1; // Хочу копирование объекта
  a2 = b;  // Хочу копирование объекта  
}
 
Ilya Malev:

И к чему он что в MQL приводит? Можете показать на простом примере?

fxsaber:

У меня не вышло (на случай, если запретят)

Блин, ребята, вы чего?

A a;
A *p;
*p = a; 
 
Alexey Navoykov:

Блин, ребята, вы чего?

Область видимости... 

 
Alexey Navoykov:

Блин, ребята, вы чего?

Сто плюсов тебе, чувак. Либо меня какой-то бес водил за нос, когда я пытался так делать раньше, либо в одном из последних билдов это добавили.

 
Ilya Malev:

Сто плюсов тебе, чувак. Либо меня какой-то бес водил за нос, когда я пытался так делать раньше, либо в одном из последних билдов это добавили.

Очевидно, первое )  Ибо этот функционал уже года 3 как присутствует в MQL
 

Был уверен, что этого в MQL нет! Интересно, откуда ноги такие в голове выросли ни у одного меня...

Интересно, найдется в КБ или Документации хоть один пример с этим? Неужели тупо не заметил...