TN004: Шаблон C++ инструмент

В настоящей записке описываются вопросы шаблон класса MFC и инструмент расширения MFC TEMPLDEF шаблон.

Проблема

MFC использует классы-шаблоны для реализации классов стандартные коллекции. Шаблон классы — это классы, которые можно расширять основанные на аргумент типа, указанного пользователем. Для MFC стандартных классов коллекции, классы в AFXCOLL.H и их реализации уже pre-expanded для вас. Для создания собственных классов коллекции для собственного типа, можно использовать AFXTEMPL.H, которая содержит массив, список и шаблоны классов карты с помощью стандартного синтаксиса шаблонов C++. TEMPLDEF инструмент предоставляется только для обеспечения обратной совместимости (в случае, если вы использовали его для создания собственных классов коллекций в предыдущих версиях).

TEMPLDEF инструмент

TEMPLDEF инструмент является шаблон развертывания. TEMPLDEF использует синтаксис напоминает синтаксис языка ANSI. Для того чтобы использовать TEMPLDEF, вы должны построить это во-первых, как любой другой образец. Этот образец предоставлен только для обратной совместимости, поскольку с этой версией Visual C++, правда Шаблоны C++ полностью поддерживаются как шаблон классы MFC, использующих их (см. классы объекта CList, CArrayи CMap )

Хороший способ начать — путем изучения четыре.Классы-шаблоны НВО с MFC (в примере утилит программирования MFC TEMPLDEF подкаталог). MKCOLL.Пакетный файл BAT дает примеры синтаксиса командной строки инструмента TEMPLDEF. Общая форма синтаксиса командной строки моделируется после C++ typedef эквивалентные шаблона класса. Например,

typedef CLinkedListlt;CMyObj > CMyLinkedList

становится

TEMPLDEF "CLinkedListlt;CMyObj > CMyLinkedList "LINKLIST.НВО МОЙ_СПИСОК.H МОЙ_СПИСОК.INL МОЙ_СПИСОК.НПК

Шаблон классы MFC несколько более сложной, чем в этом примере, принимает ряд параметров шаблона Boolean констант, которые позволяют несколько немного различных вариантов коллекций следует расширить. Обратитесь к TEMPLDEF образец для получения более подробной информации о программе TEMPLDEF и параметры командной строки для использования классов предоставленный шаблон.

Технические примечания по номеру |nbsp; Технические примечания по категориям

Index