TN004: Herramienta plantilla de C++

Esta nota describe los problemas de la clase de plantilla MFC y la herramienta de ampliación de plantilla de MFC TEMPLDEF.

El problema

MFC utiliza clases de plantilla para implementar las clases de colección estándar. Clases de plantilla son clases que pueden ampliarse basadas en un argumento de tipo especificado por el usuario. Para las clases de colección estándar de MFC, las clases de AFXCOLL.H y sus implementaciones son ya pre-expanded para usted. Para crear sus propias clases de colección para su propio tipo, puede utilizar AFXTEMPL.H que contiene la matriz, lista y mapa de plantillas de clase utilizando sintaxis de plantilla estándar de C++. La herramienta TEMPLDEF se proporciona únicamente por compatibilidad con versiones anteriores (en el caso de que se utilizaban para generar sus propias clases de colección en versiones anteriores).

La herramienta TEMPLDEF

La herramienta TEMPLDEF es un expansor de plantilla. TEMPLDEF utiliza una sintaxis similar a la sintaxis del lenguaje ANSI. Para poder utilizar TEMPLDEF, usted debe construir en primer lugar, al igual que cualquier otro ejemplo. En este ejemplo se proporciona sólo para compatibilidad con versiones anteriores, desde con esta versión de Visual C++, verdaderas plantillas de C++ son totalmente compatibles como son las clases de plantilla MFC que utilizan (véase clases CList, CArrayy CMap )

Una buena manera de comenzar es mediante el examen de cuatro.Clases de plantilla CTT provistas de MFC (encontrado en muestra de utilidades de programación de MFC TEMPLDEF subdirectorio). El MKCOLL.Archivo de proceso por lotes BAT da ejemplos de la sintaxis de línea de comandos de la herramienta TEMPLDEF. La forma general de la sintaxis de línea de comandos es modelada C++ typedef de la clase de plantilla equivalente. Por ejemplo,

typeDef CLinkedListlt;CMyObj > CMyLinkedList

se convierte en

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

Las clases de plantilla MFC son ligeramente más complicadas que en este ejemplo, tomando una serie de parámetros de plantilla de Boolean constante que permiten varios ligeramente diferentes variaciones de colecciones para ampliarse. Consulte la TEMPLDEF muestra para más detalles sobre el programa TEMPLDEF y las opciones de línea de comandos para utilizar las clases de plantilla proporcionada.

&Notas técnicas por número |nbsp; Notas técnicas por categoría

Index