Erros, bugs, perguntas - página 1892
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
Outra questão.
O trabalho de uma banda de rodagem.
por favor explique o que é um protector na programação
Sim, aqui está um exemplo que demonstra a sua pergunta:
e produção:Primeiro, verificamos o elenco não resolvido de baixo para cima e obtemos o NULL. Isto é correcto.
Depois criamos um objecto da CLASS2, atribuímos-lhe uma referência à sua classe mãe (aqui é importante compreender que dinamicamente o ambiente sabe que o tipo original do objecto da CLASS2 é armazenado na sua meta-informação). Em seguida (apenas a sua pergunta), fundido dinamicamente (com verificação do direito de conversão com base na metainformação do objecto fonte) da referência CLASSE1 para a CLASSE2.
Verificamos o resultado da fundição e escrevemo-lo na variável i = 1. Finalmente, produzimos o valor de i, referindo-se ao objecto originalmente criado.
Tudo funciona correctamente e de acordo com a especificação (incluindo a própria especificação dynamic_cast em C++).
Obrigado pelos esclarecimentos, consegui-o em MQL para conversão de tipo)) Mas não sei para que precisamos de dynamic_cast se não podemos lançar de baixo para cima de qualquer maneira e podemos fazer sem dynamic_cast de cima para baixo? Talvez haja aqui algumas subtilezas e eu não as entendo?
Volte a ler o código e a minha explicação, por favor.
Também demonstra como o elenco pode elevar o elenco de baixo para cima de forma dinâmica e segura, com base na meta-informação do objecto originalmente criado. Se um objecto foi criado a partir de um descendente, então convertido numa referência de classe mãe, então com base na metainformação (o objecto original é na realidade um descendente) pode converter com segurança essa referência a um descendente.
Tipicamente utilizado quando os objectos de vários descendentes são empilhados numa matriz/lista de referências à classe mãe, e depois recuperados e lançados em segurança para um ou outro descendente. Se a conversão der NULL, isso significa que o objecto não é buscado pelo descendente e não deve ser manuseado.
Volte a ler o código e a minha explicação, por favor.
Também demonstra como o elenco pode elevar o elenco de baixo para cima de forma dinâmica e segura, com base na meta-informação do objecto originalmente criado. Se um objecto foi criado a partir de um descendente, então convertido numa referência de classe mãe, então com base na metainformação (o objecto original é na realidade um descendente) pode converter com segurança essa referência a um descendente.
Tipicamente utilizado quando os objectos de vários descendentes são empilhados numa matriz/lista de referências à classe mãe, e depois recuperados e lançados em segurança para um ou outro descendente. Se a conversão der NULL, então o objecto não é buscado por descendente e não precisa de ser processado.
Eu li o código, mas não é isto:
CLASS2 *my_ptr2=dynamic_cast<CLASS2 *>(my_ptr);
não é análogo a isto:
Não consigo perceber a subtileza da utilização do dynamic_cast, excepto que ao executar código utilizando o dynamic_cast não iremos obter um erro porque o dynamic_cast retorna NULL em caso de erro
Eu li o código, mas não é isto:
não é semelhante a isto:
Não consigo perceber a grande subtileza da utilização do dynamic_cast, excepto que não obteremos um erro ao executar código utilizando o dynamic_cast porque o dynamic_cast retorna NULL em caso de erro
Recomendo a leitura da especificação C++ dymanic_cast no google.
É uma coisa trivial.
Quando se distribuem recursos de PC em cludes, quando se inicia o jogo - o jogo"Call of Duty: BlackOpsIII" cai - 1 agente estava envolvido. A prioridade do agente era mínima - a memória consumia 3,5 gigabytes de 16 - em geral não deveria haver problemas. Com agentes não activos, o jogo jogava bem. Geralmente testado sobre a compatibilidade dos agentes com outros programas?
Por alguma razão pensei imediatamente que talvez o bug no jogo e liguei-o às peculiaridades do trabalho em máquinas de 64 bits quando o programa é carregado no espaço de endereços > 4 GB
Por alguma razão surgiu imediatamente a ideia de que talvez um bug no jogo e o ligou às peculiaridades de trabalhar em máquinas de 64 bits, quando o programa é carregado no espaço de endereçamento > 4 GB
Isto é, para verificar esta hipótese preciso de encher a RAM com mais de 4 gigabytes e correr o jogo - vou tentar quando o meu filho o jogar.