
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Buon pomeriggio. Sono un principiante. Ho una domanda sull'uso dell'icona "*" (asterisco).
Nel file samplelist:
"*" è usato per dichiarare un puntatore a un oggetto - questo è abbastanza chiaro.
Poi:
Non è chiaro a cosa serva il segno "*".
Secondo la guida,"è possibile creare dinamicamente oggetti di tipo complesso. L' operatore new non viene utilizzato in questo caso. Si prega di spiegare più dettagliatamente come e in quali casi è possibile utilizzare il segno "*".
Inoltre, però:
Non è chiaro il significato del segno "*" posto lì.
Si può scrivere così
Non ci sarà alcuna differenza, riguarda solo lo stile del design e un piccolo approccio ideologico.
Si può scrivere in questo modo
Non ci sarà alcuna differenza, riguarda solo lo stile del design e un piccolo approccio ideologico.
Cioè.
CListItem *next(){return(next);}
questa è una dichiarazione di un puntatore all'oggetto (o metodo?) next()? E poi, tra parentesi graffe, viene restituito l'oggetto next stesso? Ho capito bene?
Capisco che tutto dovrebbe essere molto semplice, ma dato che non ho mai incontrato l'OOP prima, sto vagando in 3 pini. Per favore, fatemi capire.
Cioè.
è una dichiarazione di un puntatore all'oggetto (o metodo?) next()?
E poi, tra parentesi graffe, viene restituito l'oggetto successivo? Ho capito bene?
Il corpo della funzione è racchiuso tra parentesi graffe,
{return(next);}
significa che la funzione restituirà la variabile next, che ha il tipo di un puntatore a un oggetto della classe CListItem. In generale, questo corrisponde al tipo della funzione.
Subito dopo il primo esempio, l'articolo contiene la frase "La variabile pstatus è un puntatore a un oggetto, ma abbiamo deliberatamente "dimenticato" di creare l'oggetto stesso usando l'operatore new e lo abbiamo passato come parametro alla funzione PrintStatus()".
1. Non è chiaro cosa sia stato passato "esattamente": un puntatore o un oggetto?
2. Nell'esempio non c'è nessuna funzione PrintStatus().
Credo che ci sia un errore:
Sembra che il nuovo elemento della lista abbia prev e first che fanno riferimento al secondo elemento, e il secondo elemento non ottiene un riferimento al primo elemento.Subito dopo il primo esempio, l'articolo contiene la frase "La variabile pstatus è un puntatore a un oggetto, ma abbiamo deliberatamente "dimenticato" di creare l'oggetto stesso con l'operatore new e lo abbiamo passato come parametro alla funzione PrintStatus()".
1. Non è chiaro cosa sia stato passato esattamente: un puntatore o un oggetto?
2. Nell'esempio non c'è la funzione PrintStatus().
Meglio tardi che mai. Grazie, corretto nell'articolo. La fine della frase è stata rimossa
Subito dopo il primo esempio, l'articolo contiene la frase "La variabile pstatus è un puntatore a un oggetto, ma abbiamo deliberatamente "dimenticato" di creare l'oggetto stesso con l'operatore new e lo abbiamo passato come parametro alla funzione PrintStatus()".
Credo che ci sia un errore:
Sembra che il nuovo elemento della lista abbia prev e first che fanno riferimento al secondo elemento, e il secondo elemento non ottiene un riferimento al primo elemento.Sì, c'è un errore di battitura. Invece di
dovrebbe essere
corretto.Non riesco ancora a capire i puntatori e i riferimenti in MQL5 e ora in MQL4. Qual è la differenza tra passaggio per riferimento e puntatore, a parte il codice extra? C'è una differenza in C++, ma qual è qui? Se non è difficile, si prega di scrivere informazioni più dettagliate.