Per esempio, un operatore di addizione può essere applicato tra riferimenti, che chiamerà operator+(...). L'aggiunta di puntatori non ha senso, perché otterremo un numero che non ha alcun uso pratico.
Questo è il modo in cui è ora (sovraccarico come per gli oggetti) e tutto sembra andare bene. Ma c'è una contraddizione tra il significativo (== e !=) e il resto
voidOnStart()
{
A *a = new A;
if ( a == a ) Print( "1" ); //сравнение указателей как чиселif ( a >> a ) Print( "3" ); //вызывается operator<<( A *)
}
Che suggeriamo di eliminare confrontando i puntatori solo attraverso la funzione speciale
voidOnStart()
{
A *a = new A;
if ( isEqualPoiner( a, a ) ) Print( "1" ); //сравнение указателей как чиселif ( a == a ) Print( "2" ); //вызывается operator==( A *)if ( a >> a ) Print( "3" ); //вызывается operator<<( A *)
}
Ho una domanda indiscreta per te. Hai intenzione di condividere le tue esperienze?
Sei una delle poche persone che usano attivamente e costantemente modelli e macro. E probabilmente avete una grande quantità di codice accumulato.
Non so gli altri, ma sarei molto interessato a vedere il vostro codice e i vostri sviluppi, se ne avete, che non vi dispiace condividere con il pubblico.
Non so... l'implementazione di modelli, i vostri wrapper per lavorare con indicatori, grafici, qualsiasi cosa...
Consenti l'uso dei cookie per accedere al sito MQL5.com.
Abilita le impostazioni necessarie nel browser, altrimenti non sarà possibile accedere.
Hai effettuato l'accesso. L'autenticazione a due fattori è stata disattivata. Configurala di nuovo e scansiona un nuovo codice QR, oppure continua con l'autenticazione a due fattori disattivata.
Quali operazioni con i puntatori non sono senza senso?
Questo è il modo in cui è ora (sovraccarico come per gli oggetti) e tutto sembra andare bene. Ma c'è una contraddizione tra il significativo (== e !=) e il resto
come
Che suggeriamo di eliminare confrontando i puntatori solo attraverso la funzione speciale
Una funzione speciale per confrontare i puntatori può essere progettata come segue
Ho una domanda indiscreta per te. Hai intenzione di condividere le tue esperienze?
Sei una delle poche persone che usano attivamente e costantemente modelli e macro. E probabilmente avete una grande quantità di codice accumulato.
Non so gli altri, ma sarei molto interessato a vedere il vostro codice e i vostri sviluppi, se ne avete, che non vi dispiace condividere con il pubblico.
Non so... l'implementazione di modelli, i vostri wrapper per lavorare con indicatori, grafici, qualsiasi cosa...
Come si usano i modelli? - Per abbreviare una voce. Per esempio, non esiste un'operazione virgola in MQL. Diciamo che c'è un record
Poi avere un modellotemplate<typename T 1, typename T 2> T2 opComma( T1 expression, T2 assignment_expression ) { return ( assignment_expression ); }invece di 4 linee ne abbiamo una sola
Come si usano le macro? - Di nuovo - per abbreviare il record. Per esempio, non ci sono modelli di classe in MQL. Non è un problema - usiamo una macro
sarà poi sufficiente dichiarare
datetime dt; MDT( dt_struct, dt )La copia bitwise, per esempio, è implementata tramite modelli, dato che diversi tipi possono essere coinvolti contemporaneamente