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
Vasily, um exemplo, por favor!
Só conheço um caso em que você precisa alocar memória e precisa de um ponteiro para isso.
Tenho certeza de que quase sempre se pode passar sem ele. É desejável não utilizar o gerenciamento manual de memória. Há sempre uma biblioteca padrão que já resolveu estes problemas.
A presença de identificação de tipo dinâmico geralmente indica a arquitetura de muleta do projeto.
A presença do tipo de identificação dinâmica indica um alto grau de polimorfismo e um maior nível de abstração. Aumenta a capacidade de gerenciamento e a escalabilidade do projeto. Permite trabalhar com código no nível da interface e incentiva o programador a não entrar em detalhes de implementação.
Vasily, eu acho que seu exemplo está fora de alcance. Existem modelos (macros em µl), eles podem resolver muitos problemas na fase de compilação. E se você tiver que fazer a conversão para baixo, o programa foi mal concebido (até mesmo Straustrup disse isso).
O que há de errado com a engrenagem para baixo com controle rígido do tipo? Straustrup disse isto quando não havia nenhum tipo de controle. Agora, se você conhece o tipo derivado, você pode garantir a conversão antes que ela comece e assim evitar erros de tempo de execução.
Mas as vantagens da baixa conversão são óbvias. A principal delas é que funciona no nível da interface. Se o construtor de uma classe base é fechado no escopo protegido, é uma classe de interface e abstrata e podemos trabalhar com ela em seu nível sem ter que conhecer a refinada implementação de seus descendentes. Mas se implementarmos um comportamento polimórfico dependendo do tipo de instância, podemos certamente especificar a implementação da instância correspondente e, por exemplo, chamar seu método único. Com funções virtuais, não precisaremos nem mesmo de conversão de tipo. Afinal, as funções virtuais chamarão a implementação específica de "bastidores".
... Com funções virtuais, mesmo uma conversão de tipo não será necessária. Afinal, as funções virtuais chamarão uma implementação particular de "bastidores".
O que há de errado com a queda do elenco quando os tipos são estritamente controlados?
Se você o escreve corretamente, simplesmente não precisa dele.
P.S: Não estou colocando a identificação do tipo samapal e o mecanismo de função virtual na mesma garrafa.
Um exemplo de uma aplicação MQL real:
Eu gostaria de ouvir opiniões de especialistas sobre como eles resolveriam tal problema. Eu pessoalmente a resolvi usando identificação dinâmica de tipo, padrão "método padrão" e conversões de degrau para baixo. Foi resolvido tão bem que finalmente me permitiu criar tabelas interativas complexas com elementos irregulares e totalmente personalizáveis. Os resultados são tão tangíveis que acho ingênuo afirmar que a "identificação dinâmica é uma muleta" e a "baixa conversão é o mal".
p.s. Pavlick, a propósito, você ainda não respondeu o que exatamente está errado com a conversão para baixo.
Não, eu estou longe de ser um especialista. O que eu disse sobre a engrenagem de redução é minha experiência, eu me esforço para escrevê-la dessa forma + é confirmada por pessoas que eu respeito. Escrever um programa para provar algo é uma perda do meu tempo.
Pavlick, a propósito, você ainda não respondeu o que exatamente torna ruim o downsizing.
É difícil de explicar. Eu entendo, mas não posso dizer). Os livros provavelmente o explicarão melhor.
Não, eu estou longe de ser um especialista.