Pergunta

Este é o texto do comentário do MSDN:“De acordo com o livro ATL Internals (2ed) o uso de atributos está obsoleto e não deve ser utilizado em novos projetos ATL.”

Mas por que?!!

Foi útil?

Solução

Na ATL esses atributos eram um truque do compilador.Eles não eram uma parte central da plataforma como os atributos em C#.Eles também eram mais confusos para depurar do que macros e o método de descarregar o código de atributos gerado era um incômodo.

Suspeito que outro problema provavelmente tenha sido a compatibilidade do compilador C++ e a adesão aos padrões.Os atributos não tornavam o código C++ mais bonito, e talvez essa sintaxe possa ser usada em uma versão futura de um padrão C++ real.

Outras dicas

O Apêndice D do livro aborda isso.

ATL atribuída requer extensões de compilador e os problemas encontrados incluem

  • depurar o código gerado pelo atributo ou a interação entre o atributo e seu código
  • nenhum controle sobre o código gerado
  • bugs, especialmente em torno de pontos de conexão
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top