TN004: C++ テンプレート ツール

この MFC テンプレート クラス問題と MFC TEMPLDEF テンプレート展開ツールについて説明します。

問題

MFC では、テンプレート クラスを使用して標準のコレクション クラスを実装します。テンプレート クラスは、ユーザーが指定した型引数に基づいて展開できるクラスです。MFC の標準のコレクション クラスは、AFXCOLL のクラス。すでに H とその実装を pre-expanded います。コレクション クラスを独自の型を作成するには、AFXTEMPL を使用することができます。H は配列、リスト、および標準の C++ テンプレートの構文を使用してマップ クラス テンプレートが含まれています。(それ以前のバージョンでは、独自のコレクション クラスを生成するために使用された場合に) TEMPLDEF ツール下位互換性のためにだけ提供されます。

TEMPLDEF ツール

TEMPLDEF ツールは、テンプレートの拡張です。TEMPLDEF は、ANSI 言語構文に類似の構文を使用します。TEMPLDEF を使用するには、あなたはそれを構築する必要があります最初に、ように、他のサンプル。このサンプルは下位互換性のために、以来 Visual C のこのバージョンでそれら ( CList CArray、 CMapクラスを参照してください) を使用して、MFC テンプレート クラスとして真の C++ テンプレートは完全にサポートされます。

始めるには良い方法は、4 つを調べることによってです。MFC が提供澳門郵政局テンプレート クラス (MFC プログラミング ユーティリティ サンプルで発見 TEMPLDEFサブディレクトリ)。MKCOLL。バッチ ファイル、TEMPLDEF ツールのコマンドライン構文の例を示します。コマンド ・ ライン構文の一般的な形式は、後 C++ typedefと同じテンプレート クラスのモデル化されています。たとえば,

typedef CLinkedListlt;された > CMyLinkedList

なります。

TEMPLDEF「CLinkedListlt;された > CMyLinkedList「リンクリスト。澳門郵政局 MYLIST。H MYLIST。INL MYLIST。CPP

MFC テンプレート クラスは、展開するコレクションのいくつかの異なるバリエーションが Boolean 定数テンプレート パラメーターの数をこの例よりも少し複雑です。参照してください、 TEMPLDEFサンプル、TEMPLDEF プログラムで提供されるテンプレート クラスを使用するには、コマンド ライン オプションの詳細について。

番号順テクニカル ノート|nbsp;カテゴリ別テクニカル ノート(&N)

Index