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

 
fxsaber:

J'étais sûr que ce n'était pas dans le MQL ! Je me demande d'où viennent les jambes dans ma tête...

Je me demande s'il existe ne serait-ce qu'un seul exemple de cela dans la KB ou la documentation ? Je n'ai pas vu bêtement un...

De telles coïncidences sont rares, car un type notoire de ce forum et d'autres forums m'a répondu en automne que les pointeurs sont de tels pointeurs, qu'ils sont des types de base et que l'on peut en tirer quelque chose... Mais ça marche maintenant, et Dieu merci.

 
fxsaber:

J'étais presque sûr que ce n'était pas dans le MQL ! Je me demande où les jambes ont poussé dans ma tête comme ça, pas seulement moi...

Pas le seul.

 
fxsaber:

Je me demande s'il y a ne serait-ce qu'un seul exemple de cela dans la KB ou la documentation ? N'avez-vous pas remarqué bêtement...

J'ai trouvé seulement ceci

Forum sur le trading, les systèmes de trading automatisés et les tests de stratégie

Erreurs, bugs, questions

Ilyas, 2018.11.22 09:37

Comme solution temporaire, utilisez l'opérateur '!'. (logique non)

class A {};

A* a = NULL;

bool b1 = !!a && true;
bool b2 = true && !!a;


Nous allons réfléchir à la solution (pouvons-nous changer le comportement maintenant, quand il y a un grand nombre de codes ?)
Il est possible que pour un pointeur, une opération de conversion bool soit une opération sur le pointeur et non sur l'objet vers lequel il pointe.

Dans ce cas, pour effectuer l'opération sur l'objet, nous devrons écrire le code comme ceci

class A {};

A* a = NULL;

bool b1 = * a && true;
bool b2 = true && * a;

Nous voulons aussi ajouter les opérateurs fantômes, mais cette tâche est (très) non prioritaire.
 
fxsaber:

J'ai trouvé seulement ceci

22.11.2018 ? Trois ans, yep yep yep...

 
Ilya Malev:

22.11.2018 ? Trois ans, yep yep yep....

Ce n'était pas l'annonce d'une fonctionnalité, mais un exemple de son utilisation.

 
fxsaber:

Il ne s'agissait pas de l'annonce d'une fonctionnalité, mais d'un exemple d'utilisation de celle-ci.

ne pas l'expliquer est tout simplement inconvenant...

 

Voici une citation récente

Ilyas:

L'opération de déréférencement (récupération du pointeur réel à partir du handle) est un code "interne" (non personnalisé) et coûteux (par rapport à son absence).

Il est tout à fait possible, bien sûr, que l'administrateur ait voulu dire quelque chose de complètement différent...

Mais il n'y a absolument rien dans la documentation sur cette opération. Il n'est pas réaliste qu'une opération fonctionne depuis 3 ans et que cela ne soit pas reflété dans l'aide ou sur le forum.

 
fxsaber:

J'ai seulement trouvé ceci

Je me souviens qu'A100 et moi avions demandé l'ajout des opérateurs * et & dans le même fil de discussion il y a longtemps, et ils ont été ajoutés.
 
Voici un lien vers cette discussion. Il s'avère que ça fait presque 3 ans et demi. Comme le temps passe vite...
 
Alexey Navoykov:
Voici un lien vers cette discussion. Il s'avère que ça fait déjà presque 3 ans et demi. Comme le temps passe vite...

Et combien de temps s'est écoulé avant que ces opérations ne soient réellement introduites... Seul le vent le sait probablement. Et donc, oui, des choses assez importantes peuvent être abordées sur le forum pendant des années sans grand succès.