Discussione sull’articolo "Forum sulla programmazione MQL5 Liste" - pagina 9

 
C-4:
Forse per "normale implementazione" si intende l'implementazione su modelli.
Che cos'è? Cosa intendi per modelli? Un modo particolare di premere i tasti con le dita durante la programmazione?
 
Integer:
Che cosa significa? Cosa intendi per pattern? Un modo particolare e contorto di premere i tasti con le dita durante la programmazione?

I modelli, retaggio del vecchio metodo di sostituzione delle macro in fase di compilazione, hanno perso la loro importanza per la programmazione orientata agli oggetti molto tempo fa.

Nei linguaggi moderni tali compiti sono risolti dagli strumenti di runtime, ad esempio i generici in C#, il riconoscimento dinamico dei tipi RTTI e l'uso dei tipi varianti.
Ovviamente ci sono ancora dei vecchietti che amano i template, ma IMHO come programmatore è un segno che è ora di andare in pensione.

 
revers45:

I modelli, retaggio dell'antiquato metodo di sostituzione delle macro in fase di compilazione, hanno perso da tempo la loro importanza nella programmazione orientata agli oggetti.

Nei linguaggi moderni tali compiti sono risolti da strumenti di runtime, come ad esempio i generici in C#, il riconoscimento dinamico dei tipi RTTI e l'applicazione di tipi varianti.
Naturalmente, ci sono ancora dei vecchietti che amano i template, ma IMHO come programmatore è un segno che è ora di andare in pensione.

È divertente leggere che i template sono da tempo lontani dalle sostituzioni di macro ed esistono con successo come paradigma separato.

I generici in C# sono solo modelli molto ridotti e in realtà non sono a tempo di esecuzione ma di compilazione, per cui la loro velocità è maggiore).

Ma proprio RTTI e i tipi di varianti suggeriscono alcuni cattivi pensieri....

____________________

Ok, tutto questo è bello, ovviamente. Ma in MQL5 ci sono solo funzioni template, non ci sono classi (ci saranno?). Quindi, le liste su modelli non sono realizzabili con gli strumenti attuali.

 
TheXpert:

Divertente da leggere ) i template si sono da tempo allontanati dalle sostituzioni di macro ed esistono con successo come paradigma separato.

I generici in C# sono solo modelli molto ridotti, e in generale non è il runtime ma il tempo di compilazione, a causa del quale la velocità del loro utilizzo è maggiore ).

Ma proprio RTTI e i tipi di varianti suggeriscono alcuni cattivi pensieri....

____________________

Ok, tutto questo è bello, ovviamente. Ma in MQL5 ci sono solo funzioni template, non ci sono classi (ci saranno?). Quindi, le liste su modelli non sono realizzabili con gli strumenti attuali.

Siete felici perché i paradigmi fossili sono i vostri caldi ricordi del secolo scorso e sembrano essere un bagaglio di conoscenze esaustivo.

Ma non c'è bisogno di eclissare gli approcci moderni per questo motivo, perché gli MQ daranno per scontato che i loro clienti siano nostalgici del nonno Macro Assembler e dell'ANSI C e ignoreranno i suggerimenti per migliorare MQL5.
.

 
revers45, un po' sbagliato, alla fine ho capito di cosa stavo parlando. Esiste la possibilità di scrivere funzioni universali per garantire l'overloading. Non si scrive una funzione per ogni tipo di argomento, ma un modello di funzione. I ragazzi di cui sopra hanno confuso male qualcosa, qui abbiamo solo modelli di funzione. Ma la conversazione è iniziata con quali tipi di conoscitori, ma è stata posta la domanda sui template, quindi è arrivato subito il silenzio. Sembra che siano dei parlatori intelligenti, tutto qui.
[Eliminato]  

Dato che non ci sono modelli, si può fare con le macro, qualcuno credo abbia anche scritto un articolo su questo argomento (macro invece di modelli) + l 'analogo degli algoritmi in stl anche su macro. Ma imho tutto questo dovrebbe essere nella libreria standard su modelli, è sbagliato in qualche modo scrivere i propri contenitori (utili solo a scopo didattico), è più facile farlo con un array.

Aggiornamento: non c'è bisogno di algoritmi nelle macro, i modelli di funzione sono disponibili. Non mi piace l'inserimento virtuale/... è meglio usare le asserzioni di controllo del tipo in modalità di debug.

 
Scaricato l'allegato molti posti hanno errori di compilazione come: 'm_head' - membro dell'oggetto costante non può essere modificato CiSingleList.mqh 504 & nbsp; 9
 
È un buon articolo e penso che sia stato scritto per tutti i membri della comunità Mql5 perché ogni cosa è spiegata chiaramente.
 
Devo dire che questo articolo dà una chiara visione di OOP Sono commosso da come dopo aver letto questo ho guadagnato molto, ho preso un arco
 

Salve,

Ho provato a compilare test_MQL5_List.mq5 , ho ottenuto i seguenti errori:

'm_head' - membro dell'oggetto costante non modificabile CiSingleList.mqh 504 9
'm_tail' - membro dell'oggetto costante non modificabile CiSingleList.mqh 505 9
'm_size' - membro dell'oggetto costante non modificabile CiSingleList.mqh 496 9