Domande su OOP in MQL5 - pagina 75

 

la domanda è sbagliata, non riesco a leggere la firma della funzione

void deleteCTest(CTest * &t)

Non riesco a leggerlo.

Dovrei logicamente scrivere qualcosa del genere:

void deleteCTest((CTest *) &t)

passare per riferimento un puntatore a un tipo, ma il compilatore dà errori con tali parentesi, ma almeno ora capisco cosa almeno la funzione ha ricevuto come argomenti ))

 
Igor Makanu:

la domanda è sbagliata, non riesco a leggere la firma della funzione

Non riesco a leggere la firma.

Dovrei logicamente scrivere qualcosa del genere:

passare per riferimento un puntatore a un tipo, ma il compilatore genera errori con tali parentesi, ma almeno ora capisco cosa almeno la funzione ha ricevuto come argomenti ))

Non sarebbe più facile usare solo & ...

Per me & è un riferimento rigoroso

* - è una designazione di una variabile dove scriveremo l'indirizzo di un riferimento e in seguito lavoreremo con questa variabile, quindi è possibile cambiare la classe mentre la si ottiene, cosa che a volte confonde la situazione.

l'operatore * & è raramente necessario

 
Alexandr Andreev:

L'operatore * & è raramente necessario

senza dubbio

Ma lo sto scrivendo, ho solo deciso di capire cosa passiamo e cosa otteniamo quando lavoriamo con i puntatori in MQL .... conGetPointer()

;)

 

Per me è più interessante scrivere l'ordinamento rosso per classi, o un albero di ordinamento deliberato, qualcosa come una lista, ma con la ricerca binaria incorporata sulla lista stessa, e l'ordinamento di questa lista (in generale, sono debole in questa terminologia, forse esiste già, solo chiamato qualcosa (un albero di qualche colore))

Allo stesso tempo e capire tutto in una volta
 
Igor Makanu:

la domanda è sbagliata, non riesco a leggere la firma della funzione

Non riesco a leggerlo.

La logica dice che dovrei scrivere qualcosa del genere:

void deleteCTest((CTest *) &t)

passare per riferimento un puntatore a un tipo, ma il compilatore genera errori con tali parentesi, ma almeno ora ho capito cosa almeno la funzione ha ricevuto come argomenti ))

Solo nel caso - la notazione "fantasma" è irrilevante nella definizione della funzione, solo quando viene chiamata. E se si passa & a una funzione che aspetta *, allora la conversione non è necessaria.

E pensando ad alta voce - penso che se una tale necessità esiste del tutto, passare un puntatore a un oggetto per riferimento e inchiodarlo/reincarnarlo in una funzione di terzi.

Penso che non si adatti allo scopo degli oggetti dinamici.

Alexandr Andreev:

Per me è più interessante scrivere l'ordinamento rosso per classi, o un albero di ordinamento deliberato, qualcosa come una lista, ma con la ricerca binaria incorporata sulla lista stessa, e l'ordinamento della lista (in generale, sono debole in questa terminologia, forse esiste già, è solo chiamato in qualche modo (l'albero qualcuno colore))

Vi darà anche un'idea di quello che sta succedendo

Hai guardato la libreria standard per questo? Ogni programmatore dovrebbe scrivere qualche ordinamento da zero :)

 
Методы сортировки и их визуализация с помощью MQL5
Методы сортировки и их визуализация с помощью MQL5
  • www.mql5.com
В Сети можно найти ряд видеороликов с демонстрацией различных видов сортировок. Например, здесь представлена визуализация 24 алгоритмов сортировки. Это видео я и взял за основу, наряду со списком алгоритмов сортировки. Для работы с графиками в MQL5 разработана специальная библиотека Graphic.mqh. Она уже описана в статьях: в частности, здесь...
 
Igor Makanu:

nessun argomento

Ma lo sto scrivendo, ho solo deciso di capire cosa passiamo e cosa otteniamo quando lavoriamo con i puntatori in MQL .... con GetPointer()

;)

Comunque, è interessante, dato che sei stato qui per molti anni e ti ricordo dalle discussioni su OOP per molto tempo, e ora si scopre che non hai nemmeno un'idea di come sia implementato in MQL. La domanda è, perché hai usato il forum MQL per tutto questo tempo?)

Forse non usate oggetti dinamici, anche se non riesco a immaginare come si possa fare a meno di loro in OOP, soprattutto perché tutte le librerie MQ standard sono adattate solo ai puntatori.

E anche l'obiettivo non è molto chiaro. Perché vorresti studiare MQL se possiedi C#? Per condannarti artificialmente alle difficoltà... Sai che le librerie .Net sono facilmente rilevabili in MetaEditor? Anche se sono disponibili solo metodi statici e i tipi di dati sono limitati. Ma per organizzare la comunicazione e il trasferimento dei dati è sufficiente. Anche se non ho controllato, forse l'integrazione è già più profonda. Devo guardarlo.

 
Igor Makanu:

Pensi che più della metà dei partecipanti al forum capisca come funziona l'OOP in MQL? - Ne dubito, almeno i messaggi anche dei vecchi e attivi partecipanti mostrano il loro livello di conoscenza di MQL

E questo è il motivo per cui l'OOP è usato soprattutto per usare SB,

Non so nemmeno come la gente si preoccupi di usarlo nei loro robot - è solo per mettersi in mostra. Strutture al massimo.

Semka se n'è andato con il suo disegno, chi ha bisogno di questo disegno, qui sono venuti a guadagnare soldi per se stessi e per i loro cari, naturalmente i costruttori non si sono dispiaciuti per lui. Peter, tutto tranne il commercio). Riempire il cervello dei programmatori con funzionalità inutili

 
awsomdino:

Classi, ereditarietà, virtualizzazione, template, è stato molto difficile per me capirlo da autodidatta, ho capito un po' e ho abbandonato OOP, non posso nemmeno immaginare come la gente si preoccupi nei loro robot - che devi usare tutto questo, è solo uno spettacolo. strutture al massimo

dipendono dal compito, anche se sono d'accordo in generale - l'obiettivo non è l'arte di scrivere il codice giusto in conformità con le tendenze attuali di programmazione, ma la possibilità di fare soldi

Ho imparato a disegnare belle immagini nel tester, che possono passare il test sulla storia e in avanti, ora sto raccogliendo informazioni su come combinare il trading online e il tester stesso, qui ho molto probabilmente bisogno di OOP - voglio aggiungere e cancellare strategie in tempo reale, salvare e pianificare di essere in grado di muoversi da PC a PC in tempo reale - non molte informazioni sullo stato del TS, ma il solito modo - per scrivere tutto nel numero magico non funzionerà

in generale mentre si analizza il materiale

awsomdino:

Semka è andato con il suo disegno, chi ha bisogno di questo disegno, qui è venuto il denaro per fare se stessi e i loro cari, naturalmente non era dispiaciuto per gli sviluppatori. Peter, tutto tranne il commercio). Hanno riempito il cervello dei programmatori con le loro funzionalità inutili

Beh la creatività è interessante, e il riscaldamento per la mente è sempre necessario, sono alcuni anni che non mi sono seduto a un PC - tutto completamente alle intemperie, poi, infatti, da zero roba per sollevare, quindi non prendere tutta la creatività dei programmatori come il loro desiderio di realizzare qualcosa - solo creatività e un riscaldamento, imho, anche se ci sono eccezioni - vedono il punto ;)

 
Igor Makanu:

dipende dal compito, anche se in generale sono d'accordo - l'obiettivo non è un'arte di scrivere il codice giusto secondo le tendenze della programmazione moderna, ma un'opportunità di fare soldi


L'esempio dovrebbe essere preso da Saber, non so il vero scopo di esso, ma ho visto i suoi se altro) alberi lì per ottenere quello che ti serve. Ho avuto una domanda quando sono venuto qui, come farlo subito, e cercare come implementarlo, rileggere tutto - davvero perso solo tempo, non c'è implementazione corretta, cumuli di articoli e ovunque il suo. Sono davvero deluso quando non si capisce molto qui nel codice e si sta all'incrocio di 5 strade e si pensa quale strada prendere. Non è nemmeno una questione di trovare un sistema di trading redditizio qui, la questione è se si troverà mai la strada ottimale) - Questo è il nostro caro MQL5.

Motivazione: