テンプレート ライブラリの使用
テンプレートは、マクロと似たところがあります。 マクロと同様に、テンプレートを呼び出すと、記述したコードに展開されます (適切なパラメーター代入を使用)。 ただし、テンプレートを使用すると、パラメーターとして渡す型に基づいて、新しいクラスを作成することもできます。 これらの新しいクラスは、テンプレート コードで表される操作を実行するタイプ セーフな方法を実装します。
ATL などのテンプレート ライブラリは、従来の C++ クラス ライブラリとは異なります。通常は、ソース コードとしてのみ (または、サポート ランタイムを少々使用するソース コードとして) 提供され、本質的に、または必ずしも、階層的な性質を持つものではありません。 クラスから派生して目的の機能を取得するのではなく、テンプレートからクラスをインスタンス化します。