MQL5 Le compilateur ne fait pas la distinction entre une classe et un pointeur vers celle-ci - page 8

 

Je ne comprends pas pourquoi ne pas interdire la copie implicite pour les types d'objets ? A quoi cela servirait-il ? Les objets qui sont réellement des objets et non des structures déguisées par la POO qui peuvent être commodément transmises par référence, n'ont pas de logique réduite au simple contenu des champs de toute façon. En d'autres termes, la copie sans surcharge explicite de l'opérateur = dans la classe n'est tout simplement pas nécessaire.

 
Ilya Malev:

Où est*?

Dans MQL
 

C'est S. Tu veux une PL ?

Ilya.

 
Alexey Navoykov:
Dans MQL

Et à quoi cela mène-t-il dans le MQL ? Pouvez-vous me montrer un exemple simple ?

 
Alexey Navoykov:
Pourquoi cela ne fonctionnerait-il pas ? Il existe des opérateurs * et & pour convertir en ce qui est nécessaire.

Cela n'a pas fonctionné pour moi (au cas où ce serait interdit).

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:

Et à quoi cela mène-t-il dans le MQL ? Pouvez-vous me le montrer avec un exemple simple ?

fxsaber:

Je n'ai pas pu le faire (au cas où ils l'interdiraient).

Merde, les gars, qu'est-ce que vous faites ?

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

Merde, les gars, qu'est-ce que vous faites ?

Zone de visibilité...

 
Alexey Navoykov:

Merde, les gars, qu'est-ce que vous faites ?

Plus de 100 pour toi, mec. Soit j'ai été trompé par un démon lorsque j'ai essayé cela auparavant, soit l'une des dernières versions l'a ajouté.

 
Ilya Malev:

Plus de 100 pour toi, mec. Soit j'ai été trompé par un homme maléfique lorsque j'ai essayé cela auparavant, soit l'une des dernières versions l'a ajouté.

Évidemment, la première) car cette fonctionnalité est disponible dans MQL depuis environ 3 ans maintenant.
 

J'étais sûr qu'une telle chose n'existe pas dans MQL ! Je me demande où les jambes ont poussé dans ma tête...

Je me demande s'il y a ne serait-ce qu'un seul exemple de cela dans le QB ou la Documentation ? N'a pas remarqué sans ambages....