TN004 : Outil de modèle de C++

Cette note décrit les questions de la classe de modèle MFC et l'outil de développement du modèle MFC TEMPLDEF.

Le problème

MFC utilise les classes de modèle pour implémenter les classes de collection standard. Les classes de modèle sont des classes qui peuvent être développées basés sur un argument de type spécifié par l'utilisateur. Pour les classes de collection standard MFC, les classes de AFXCOLL.H et leurs implémentations sont déjà PREEXPANSEES pour vous. Pour créer vos propres classes de collection pour votre propre type, vous pouvez utiliser AFXTEMPL.H qui contient le tableau, liste et modèles de classe de la carte à l'aide de la syntaxe de modèle standard C++. L'outil TEMPLDEF est fournie uniquement pour la compatibilité descendante (au cas où vous l'utilisiez pour générer vos propres classes de collection dans les versions antérieures).

L'outil TEMPLDEF

L'outil TEMPLDEF est une extension de modèle. TEMPLDEF utilise une syntaxe similaire à la syntaxe du langage ANSI. Afin d'utiliser TEMPLDEF, vous devez le générer en premier lieu, comme tout autre échantillon. Cet exemple est fourni uniquement pour la compatibilité ascendante, depuis avec cette version de Visual C++, véritables modèles C++ sont pleinement soutenues sont les classes de modèles MFC qui les utilisent (voir classes CListet CArray, CMap )

Une bonne façon de commencer est par l'examen de quatre.Les classes de modèle CTT fournis avec MFC (trouvés dans l'échantillon des utilitaires de programmation MFC TEMPLDEF sous-répertoire). Le MKCOLL.Fichier de lot BAT donne des exemples de la syntaxe de ligne de commande de l'outil TEMPLDEF. La forme générale de la syntaxe de ligne de commande est modelée d'après un C++ typedef de la classe de modèle équivalent. Par exemple,

typeDef CLinkedListlt ;CMyObj > CMyLinkedList

devient

TEMPLDEF "CLinkedListlt ;CMyObj > CMyLinkedList » liens.CTT MYLIST.H MYLIST.INL MYLIST.RPC

Les classes de modèles MFC sont légèrement plus complexes que cet exemple, en prenant un certain nombre de paramètres de modèle constante Boolean qui permettent plusieurs variantes légèrement différentes des collections pour être étendu. Veuillez vous référer à la TEMPLDEF exemple pour plus de détails sur le programme TEMPLDEF et les options de ligne de commande pour utiliser les classes de modèles fournis.

&Notes techniques par le numéro |nbsp ; Notes techniques par catégorie

Index