MQL5 El compilador no distingue entre una clase y un puntero a ella - página 8

 

No entiendo por qué no prohibir la copia implícita para los tipos de objetos. ¿De qué serviría? Los objetos que son realmente objetos y no estructuras disfrazadas de POO que pueden pasarse convenientemente por referencia, no tienen la lógica reducida al mero contenido de los campos de todos modos. Es decir, copiar sin sobrecargar explícitamente el operador = en la clase no es necesario.

 
Ilya Malev:

¿Dónde está*?

En MQL
 

Es S. ¿Quieres un PL?

Ilya.

 
Alexey Navoykov:
En MQL

¿Y a qué conduce en MQL? ¿Puede mostrarme un ejemplo sencillo?

 
Alexey Navoykov:
¿Por qué no iba a funcionar? Hay operadores * y & para convertir a lo que se necesita.

A mí no me funcionó (por si está prohibido)

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:

¿Y a qué conduce en MQL? ¿Puede mostrarme con un ejemplo sencillo?

fxsaber:

No podría (en caso de que lo prohíban)

Mierda, chicos, ¿qué estáis haciendo?

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

Mierda, chicos, ¿qué estáis haciendo?

Área de visibilidad...

 
Alexey Navoykov:

Mierda, chicos, ¿qué estáis haciendo?

Cien más para ti, tío. O me ha engañado algún demonio cuando lo he intentado antes, o lo han añadido en una de las últimas builds.

 
Ilya Malev:

Cien más para ti, tío. O me ha engañado un malvado cuando he intentado esto antes, o una de las últimas builds lo ha añadido.

Obviamente, la primera ) Porque esta funcionalidad está disponible en MQL desde hace unos 3 años
 

¡Estaba seguro de que no existe tal cosa en MQL! Me pregunto de dónde han salido esas piernas en mi cabeza... No soy el único.

Me pregunto si hay algún ejemplo de esto en el QB o en Documentación. No se dio cuenta de manera contundente....
Razón de la queja: