Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Talvez com "implementação normal" você queira dizer implementação em modelos.
Como é isso? O que você quer dizer com padrões? Alguma maneira especial e distorcida de pressionar as teclas com os dedos durante a programação?
Os modelos, como um legado do antigo método de substituição de macros em tempo de compilação, na verdade perderam sua relevância para a programação orientada a objetos há muito tempo.
Nas linguagens modernas, essas tarefas são resolvidas por ferramentas de tempo de execução, por exemplo, genéricos em C#, RTTI de reconhecimento de tipos dinâmicos e o uso de tipos variantes.
É claro que ainda há pessoas antigas que gostam de modelos, mas, na minha opinião, como programador, isso é um sinal de que é hora de se aposentar.
Os modelos, como um legado do método antiquado de substituição de macros em tempo de compilação, há muito tempo perderam sua relevância para a programação orientada a objetos.
Nas linguagens modernas, essas tarefas são resolvidas por ferramentas de tempo de execução, por exemplo, genéricos em C#, reconhecimento de tipos dinâmicos RTTI e aplicação de tipos variantes.
É claro que ainda há veteranos que gostam de modelos, mas, na minha opinião, como programador, isso é um sinal de que é hora de se aposentar.
É engraçado ler que os modelos há muito se distanciaram das substituições de macros e existem com bastante sucesso como um paradigma separado.
Os genéricos em C# são apenas modelos muito reduzidos e, na verdade, não são de tempo de execução, mas de tempo de compilação, o que faz com que sua velocidade seja maior).
Mas apenas RTTI e tipos variantes sugerem alguns pensamentos ruins....
____________________
Ok, tudo isso é legal, é claro. Mas na MQL5 há apenas funções de modelo, não há classes (haverá?). Portanto, listas em modelos não são possíveis com as ferramentas atuais.
É engraçado ler que os modelos há muito tempo se distanciaram das substituições de macros e existem com bastante sucesso como um paradigma separado.
Os genéricos em C# são apenas modelos muito reduzidos e, em geral, não é o tempo de execução, mas o tempo de compilação, devido ao qual a velocidade de seu uso é maior).
Mas apenas RTTI e tipos variantes sugerem alguns pensamentos ruins....
____________________
Ok, tudo isso é legal, é claro. Mas na MQL5 há apenas funções de modelo, não há classes (haverá?). Portanto, listas em modelos não podem ser realizadas com as ferramentas atuais.
Você está feliz porque os paradigmas fósseis são suas lembranças calorosas do século passado e parecem ser uma bagagem exaustiva de conhecimento.
Mas não há necessidade de eclipsar as abordagens modernas por causa disso, porque os MQs presumirão que seus clientes são nostálgicos em relação ao avô Macro Assembler e ao ANSI C e ignorarão as sugestões para melhorar a MQL5.
.
Como não há modelos, você pode fazer isso em macros, acho que alguém até escreveu um artigo sobre esse tópico (macros em vez de modelos) + análogo de algoritmos em stl também em macros. Mas, na minha opinião, tudo isso deveria estar na biblioteca padrão em modelos, é errado, de alguma forma, escrever seus próprios contêineres (útil apenas para fins educacionais), é mais fácil fazer isso com uma matriz.
upd: não há necessidade de algoritmos em macros, os modelos de função estão disponíveis. Não gosto de inserção virtual/... é melhor usar afirmações de verificação de tipo no modo de depuração.
Olá,
Ao tentar compilar o arquivo test_MQL5_List.mq5, obtive os seguintes erros:
'm_head' - o membro do objeto constante não pode ser modificado CiSingleList.mqh 504 9
'm_tail' - o membro do objeto constante não pode ser modificado CiSingleList.mqh 505 9
'm_size' - o membro do objeto constante não pode ser modificado CiSingleList.mqh 496 9