MQL5 Il compilatore non distingue tra una classe e un puntatore ad essa - pagina 9

 
fxsaber:

Era sicuro che questo non era nel MQL! Mi chiedo da dove vengano le gambe nella mia testa...

Mi chiedo se c'è anche solo un esempio di questo nella KB o nella documentazione? Non ha stupidamente visto uno...

Queste coincidenze sono rare, perché un tizio famoso di questo e di altri forum mi ha risposto in autunno che i puntatori sono tali, sono tipi di base e cosa si può prendere da loro... Ma ora funziona, e grazie al cielo.

 
fxsaber:

Ero abbastanza sicuro che non fosse nel MQL! Mi chiedo dove siano cresciute le gambe nella mia testa così, non solo io...

Non l'unico.

 
fxsaber:

Mi chiedo se c'è anche solo un esempio di questo nella KB o nella documentazione? Non hai stupidamente notato...

Ho trovato solo questo

Forum sul trading, sistemi di trading automatico e test di strategia

Errori, bug, domande

Ilyas, 2018.11.22 09:37

Come soluzione temporanea, usate l'operatore '! (logico non)

class A {};

A* a = NULL;

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


Penseremo alla soluzione (possiamo cambiare il comportamento ora, quando c'è un gran numero di codici?)
È possibile che per un puntatore, un'operazione di conversione bool sia un'operazione sul puntatore e non sull'oggetto a cui punta.

In questo caso, per eseguire l'operazione sull'oggetto, dovremo scrivere il codice come questo

class A {};

A* a = NULL;

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

Anche gli operatori fantasma vogliamo aggiungere, ma questo compito è (molto) non prioritario
 
fxsaber:

Ho trovato solo questo

22.11.2018? Tre anni, sì, sì, sì...

 
Ilya Malev:

22.11.2018? Tre anni, sì, sì, sì....

Non era un annuncio di una caratteristica, ma un esempio di come usarla.

 
fxsaber:

Questo non era un annuncio di una caratteristica, ma un esempio di come usarla.

non spiegarlo è semplicemente sconveniente...

 

Ecco una citazione recente

Ilyas:

L'operazione di dereferenziazione (ottenere il puntatore reale dall'handle) è codice "interno" (non personalizzato) e costoso (rispetto a non averlo).

È abbastanza possibile, naturalmente, che l'amministratore intendesse qualcosa di completamente diverso...

Ma non c'è assolutamente nulla nella documentazione su questa operazione. Non è realistico che un'operazione funzioni da 3 anni e che non si rifletta nell'aiuto o sul forum

 
fxsaber:

Ho trovato solo questo

Non è così. Ricordo che io e A100 abbiamo chiesto di aggiungere gli operatori * e & nello stesso thread molto tempo fa, e sono stati aggiunti.
 
Ecco un link a quella discussione. Si è scoperto che sono passati quasi 3 anni e mezzo. Come vola il tempo...
 
Alexey Navoykov:
Ecco un link a quella discussione. A quanto pare sono già passati quasi 3 anni e mezzo. Come vola il tempo...

E quanto tempo ancora è passato prima che queste operazioni fossero effettivamente introdotte... Solo il vento probabilmente lo sa. E così, sì, cose piuttosto importanti possono essere portate sul forum per anni senza molto successo

Motivazione: