TN004: Modelo de C++ ferramenta

Esta anotação descreve o MFC modelo-classe problemas e a ferramenta de expansão do modelo MFC TEMPLDEF.

O problema

MFC usa classes de modelo para implementar as classes de coleção padrão. Classes de modelo são classes que podem ser expandidas com base em um argumento de tipo especificado pelo usuário. Para as classes de coleção padrão MFC, classes em AFXCOLL.H e suas implementações já estão pre-expanded para você. Para criar suas próprias classes de coleção para seu próprio tipo, você pode usar AFXTEMPL.H, que contém a matriz, lista e modelos de classe do mapa usando a sintaxe de modelo de C++ padrão. A ferramenta TEMPLDEF é fornecida somente para compatibilidade com versões anteriores (no caso você estava usando ele para gerar suas próprias classes de coleção em versões anteriores).

A ferramenta TEMPLDEF

A ferramenta TEMPLDEF é um expansor de modelo. TEMPLDEF usa uma sintaxe semelhante à sintaxe de linguagem ANSI. Para usar TEMPLDEF, você deve construí-lo em primeiro lugar, bem como qualquer outra amostra. Este exemplo é fornecido apenas para compatibilidade com versões anteriores, desde com esta versão do Visual C++, verdadeiros modelos de C++ são totalmente suportados, como são as classes de modelo do MFC que usá-los (consulte classes , CArrayCListe CMap )

Uma boa maneira de começar é examinar quatro.Classes de modelo CTT fornecidas com MFC (encontrado no MFC Programming Utilitários exemplo TEMPLDEF subdiretório). O MKCOLL.Arquivo de lote de MORCEGO dá exemplos de sintaxe de linha de comando da ferramenta TEMPLDEF. A forma geral da sintaxe de linha de comando é modelada após um C++ typedef da classe modelo equivalente. Por exemplo,

typeDef CLinkedListlt;CMyObj > CMyLinkedList

torna-se

TEMPLDEF "CLinkedListlt;CMyObj > CMyLinkedList "LINKLIST.CTT MYLIST.H MYLIST.INL MYLIST.CPP

As classes de modelo do MFC são um pouco mais complicadas do que este exemplo, tendo um número de parâmetros de modelo constante Boolean que permitem que diversas variações ligeiramente diferentes de coleções a serem expandidos. Por favor, consulte o TEMPLDEF exemplo para obter mais detalhes sobre o programa TEMPLDEF e as opções de linha de comando para usar as classes de modelo fornecido.

Técnico anotações por número |nbsp; &Notas técnicas por categoria

Index