
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
Ultimamente ho iniziato a vedere una sorta di "raccolta di spazzatura" nelle funzioni di vari compilatori. Che cos'è?
Qui dipenderà dalla lingua, in Sharp, come ho capito è impossibile.
È, tutto ciò che si può fare è assegnare un oggetto inutilizzato a NULL, ci sono manuali sul sito Microsoft come forzare a chiamare il raccoglitore di rifiuti, ma sembra che ho letto su hubra che non il fatto che il raccoglitore sarà lanciato in questa chiamata come previsto
cioè, in Sharp hanno tolto la maggior parte della gestione della memoria al programmatore - tutto è in balia del sistema operativo e del compilatore
È, tutto ciò che si può fare è assegnare un oggetto inutilizzato a NULL, ci sono manuali sul sito Microsoft come forzare a chiamare il raccoglitore di rifiuti, ma sembra che ho letto su hubra che non il fatto che il raccoglitore sarà lanciato in questa chiamata come previsto
cioè, in Sharp hanno tolto la maggior parte della gestione della memoria al programmatore - tutto è alla mercé del sistema operativo e del compilatore
Ecco fatto. Attualmente sto scrivendo il mio primo libro di testo su Sharp e sono spaventato dall'assenza di cancellazione nel codice dopo new in method))).
invece di cancellare MyObj; scrivere MyObj = null; - questo funzionerà
e poi usare ?? - all'inizio era un po' scomodo, poi funziona automaticamente
ma non è la più grande differenza rispetto al C++, in C# tutti gli oggetti sono riferimenti e se si imposta MyObj_1=MyObj_2; non si ottiene una copia, si ottiene un puntatore... Sto per confondervi, ecco un veloce tutorial, lo sto solo riguardando nel caso abbia dimenticato qualcosa
https://metanit.com/sharp/tutorial/2.16.php
Penso che sto cominciando a capire la necessità e l'utilità dell'OOP, ma sto avendo problemi ad implementarla.
Ho una classe che deve essere usata con tre diversi set di variabili. Ma esegue un compito. In termini semplici, possiamo inserire 3 costruttori, dichiarare 3 variabili e fare riferimento ad esse. Ma per come la vedo io, non è del tutto corretto. Inoltre, c'è una variabile di tipo stringa in due varianti, ma ha un nome diverso ed è usata in diverse parti del codice. Naturalmente, si può cambiare la sequenza delle variabili, ma penso che anche questo non sia del tutto corretto.
Ho letto la documentazione sul nuovo operatore ma non capisco come possa essere utile. Non vedo la differenza tra tre diverse variabili oggetto e tre puntatori agli stessi oggetti. Forse è vantaggioso quando si crea un puntatore una volta, usare questo oggetto e cancellarlo quando non è necessario. Ma se avete bisogno dell'oggetto regolarmente, è assolutamente stupido creare un puntatore ad esso ogni volta e cancellarlo.
Quindi, per favore, datemi una mano. Ho letto alcune spiegazioni di OOP in C++, ma lì sono descritte in modo peggiore che nella documentazione di mql5. Per favore, non chiedete agli impazienti di unirsi a me, farei troppe domande. Non mi interessa nemmeno il codice già pronto senza spiegazioni, voglio capirlo, e non ripetere stupidamente "Fai con noi, fai come noi...".
Penso che sto cominciando a capire la necessità e l'utilità dell'OOP, ma sto avendo problemi ad implementarla.
Ho una classe che deve essere usata con tre diversi set di variabili. Ma esegue un compito. In termini semplici, possiamo inserire 3 costruttori, dichiarare 3 variabili e fare riferimento ad esse. Ma per come la vedo io, non è del tutto corretto. Inoltre, c'è una variabile di tipo stringa in due varianti, ma ha un nome diverso ed è usata in diverse parti del codice. Naturalmente, si può cambiare la sequenza delle variabili, ma penso che anche questo non sia del tutto corretto.
Ho letto la documentazione sul nuovo operatore ma non capisco come possa essere utile. Non vedo la differenza tra tre diverse variabili oggetto e tre puntatori agli stessi oggetti. Forse è vantaggioso quando si crea un puntatore una volta, usare questo oggetto e cancellarlo quando non è necessario. Ma se avete bisogno dell'oggetto regolarmente, è stupido creare un puntatore ad esso ogni volta e cancellarlo.
Tutto sommato, per favore aiutatemi. Ho letto alcune spiegazioni di OOP in C++, ma lì sono descritte in modo peggiore che nella documentazione di mql5. Si prega di non essere impazienti, farò troppe domande. Non mi interessa nemmeno il codice già pronto senza spiegazioni, voglio capirlo, e non ripetere stupidamente "Fai con noi, fai come noi...".
Abbiamo bisogno di più dettagli. Quale compito svolge la classe?
I dettagli sono necessari. Quale compito svolge la classe?
Non è un segreto, un esempio di eventi del calendario economico CalendarValueHistory(). In un caso, tutte le notizie nell'intervallo di tempo. In un altro per paese e in un altro intervallo di tempo. Nel terzo è da un simbolo. Ma c'è una differenza fondamentale? Le lezioni di programmazione dividono le soluzioni in base al tipo di compiti che svolgono?
Recentemente ho incontrato qualcuno che non ha superato un esame di guida ed era indignato, dicendo che non aveva guidato in quell'incrocio durante le sue lezioni di guida e semplicemente non sapeva come guidare in quell'incrocio.
In un altro per paese e in un intervallo di tempo diverso.
paesi in enum
Nel costruttore, anche attraverso il solito switch - case, fate l'inizializzazione come avete bisogno, ho mostrato sopra un modello con interfacce, inizializzo anche una delle strategie nel costruttore, a seconda dei parametri, e il resto del lavoro si riduce a scrivere una strategia specifica
https://www.mql5.com/ru/forum/85652/page24#comment_13054686
paesi in enum
Nel costruttore, anche attraverso il solito switch - case, fate l'inizializzazione come avete bisogno, ho mostrato sopra un modello con interfacce, inizializzo anche una delle strategie nel costruttore, a seconda dei parametri, e il resto del lavoro si riduce a scrivere una strategia specifica
https://www.mql5.com/ru/forum/85652/page24#comment_13054686
Noioso... Ci sono anche modelli e interfacce da padroneggiare?