Biblioteca de classes genéricas - bugs, descrição, perguntas, recursos de uso e sugestões - página 27
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
Para que é que criam colecções, para colecções e eliminação automática de objectos?) Eu não disse nada sobre a operação manual. De onde tirou isso?)
Estude o STL e compreenderá do que estou a falar.
como copiar correctamente, pode dar um exemplo para este modelo?
Utilizei a ajuda para escrever o método AddValuehttps://www.mql5.com/ru/docs/basis/types/classes
Eu esmaguei o meu cérebro, mas não vejo nenhuma outra solução em MQL do que a que escrevi no meu exemplo!
Mostrem-me a vossa implementação do correcto armazenamento de dados.
Mas esta solução está errada de qualquer forma. Uma solução normal é utilizar algo como STL. No seu caso std::list.
Penso que a MQL5 não a limita. Pode tentar traduzir fontes STL do mesmo VS para MQL
É a isso que me refiro no seu caso.
Mas continua a ser a solução errada. A solução normal é usar algo como STL. No seu caso std::list.
Não me parece que a MQL5 não a limite. Pode tentar traduzir o código fonte STL de VS para MQL
Mais uma vez: MQL não é C++,
e um ponteiro para um objecto em MQL é de facto uma pega, e um ponteiro em C++ é um endereço de memória física.
para que serve portar as bibliotecas C++ para a MQL ?
Mais uma vez: MQL não é C++,
e um ponteiro para um objecto em MQL é de facto uma pega, e um ponteiro em C++ é um endereço de memória física
para que serve portar as bibliotecas C++ para a MQL ?
Implementar correctamente os padrões de concepção em vez de criar potenciais problemas utilizando genéricos.
Deve ficar surpreendido mas as indicações para o sistema operativo também são virtuais. Ainda é necessário convertê-los em físicos, mas este é um nível de trabalho completamente diferente com apontadores.
Não será capaz de portar 1 em 1, mas penso que será capaz de portar um C++03 despojado. O apoio de modelos e operadores está disponível.
1. Pode ficar surpreendido, mas as indicações para o SO também são virtuais. Ainda precisam de ser convertidos em físicos, mas isso é todo um outro nível de manuseamento de ponteiro.
2. Não poderá portar 1 em 1 mas poderá portar o C++03 descascado. O apoio de modelos e operadores também existe.
1. eu não ficaria surpreendido
2. bem, aqui está a verdade - mesmo que se juntem e façam um porto a partir de C++, isso ainda causará dúvidas, mas porque não como no original? - qual é o objectivo?
Existe uma biblioteca padrão de MQL, utilizando-a pelo menos algum tipo de garantia de que o apoio será fornecido pelos desenvolvedores no futuro. Já fui queimado algumas vezes - usei componentes gráficos de artigos escritos há alguns anos, é fácil de usar, tal como trabalhar com componentes Delphi, mas quando comecei a tentar implementar projectos mais sérios recebi muitas perguntas e nenhuma resposta do autor do artigo
Não me lembro quem dos programadores proeminentes disse, mas algo como isto: o código não deve ser bonito ou legível, deve cumprir a sua tarefa
como a nossa discussão, se não me engano, queria armazenar uma estrutura com os seus dados em listas, eu mostrei-lhe a minha implementação, que desenvolvi para a mesma tarefa - a minha implementação funciona? - causa erros de tempo de execução em programas de MQL? - Estou curioso em saber no decurso da conversa
Andrey Pogoreltsev:
C++03 é possível, penso eu. Está disponível apoio para modelos e operadores.
Bem, sim, boa sorte ))
O código não tem de ser bonito ou legível, tem de fazer o seu trabalho
Isto só é verdade até que o queiram refinar.
Já apontei este erro na classe CLinkedList, mas vou repeti-lo. Os nós inicial e final da lista estão fechados um ao outro: o próximo do último nó aponta para o primeiro nó, enquanto o anterior do primeiro nó aponta para o último. Como resultado, o laço padrão de pesquisa transforma-se num laço infinito:
Em C# tal disparate não é naturalmente observado. O Próximo do último nó é zero, bem como oAnterior do primeiro nó.
Não sei se é alguma "característica" inventada pelos criadores (embora não veja a sua utilidade), mas em qualquer caso o comportamento da biblioteca deve corresponder ao original.
Já apontei este erro na classe CLinkedList, mas vou repeti-lo. Os nós inicial e final da lista estão fechados um ao outro: o próximo do último nó aponta para o primeiro nó, enquanto o anterior do primeiro nó aponta para o último. Como resultado, o laço padrão de pesquisa transforma-se num laço infinito:
Em C#, naturalmente, não há tal disparate. O Próximo do último nó é zero, bem como oAnterior do primeiro nó.
Não sei se esta é alguma "característica" inventada pelos criadores (embora não veja qualquer benefício dela), mas em qualquer caso o comportamento da biblioteca deve corresponder ao original.
Que diabos se passa aqui outra vez? Eles estão a apagar perfeitamente bons posts da LinkedList. Assim mesmo, algures na Europa, um moderador anónimo está a apagar postos de russos odiados, enquanto ressona maliciosamente. Que lixeira, não lhe dá vontade de escrever.