MQL5 O compilador não faz distinção entre uma classe e um ponteiro para ela - página 8

 

Não entendo por que não proibir a cópia implícita para tipos de objetos? De que serviria? Objetos que na verdade são objetos e não estruturas disfarçadas de OOP que podem ser convenientemente passados por referência, não têm lógica reduzida ao mero conteúdo dos campos de qualquer forma. Ou seja, copiar sem sobrecarregar explicitamente o = operador da classe simplesmente não é necessário.

 
Ilya Malev:

Onde está*?

Em MQL
 

É S. Você quer um PL?

Ilya.

 
Alexey Navoykov:
Em MQL

E ao que isso leva na MQL? Você pode me mostrar um exemplo simples?

 
Alexey Navoykov:
Por que não funcionaria? Existem * e & operadores para converter para o que é necessário.

Não funcionou para mim (caso seja proibido)

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:

E ao que isso leva na MQL? Você pode me mostrar com um simples exemplo?

fxsaber:

Eu não poderia fazer isso (caso eles o proíbam)

Merda, caras, o que estão fazendo?

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

Merda, caras, o que estão fazendo?

Área de visibilidade...

 
Alexey Navoykov:

Merda, caras, o que estão fazendo?

Mais de cem para você. Ou eu fui enganado por algum demônio quando já tentei isto antes, ou uma das últimas construções o acrescentou.

 
Ilya Malev:

Mais de cem para você. Ou eu fui enganado por algum demônio quando já tentei isso antes, ou uma das últimas construções o acrescentou.

Obviamente, o primeiro ) Porque esta funcionalidade está disponível na MQL há cerca de 3 anos
 

Eu tinha certeza de que não existe tal coisa na MQL! Onde será que essas pernas cresceram em minha cabeça... Não sou o único.

Será que há sequer um exemplo disso no QB ou na Documentação? Não percebeu claramente....