C++ templates enable you to define a family of functions or classes that can operate on different types of information. The Microsoft implementation of C++ templates is based on the ISO/ANSI C++ Standard.
Use templates in situations that result in duplication of the same code for multiple types. For example, you can use function templates to create a set of functions that apply the same algorithm to different data types. You can also use class templates to develop a set of typesafe classes. Templates are sometimes a better solution than C macros and void pointers, and they are especially useful when working with collections (one of the main uses for templates in MFC) and smart pointers.
In This Section
Provides general information about templates, or parameterized types, in Visual C++.
Provides a specification for a template declaration.
Describes the typename keyword.
Referencing Templates [C++ Language]
Provides a task showing how to reference templates in your code.
Angle Bracket Placement
Describes how angle brackets are placed in templates.
Differences from Other Implementations
Discusses Microsoft-specific implementations of templates.
Discusses the three types of names in template definitions.
Describes how to use and work with class templates.
Describes how to use and work with function templates.
Provides reference material for the ATL Library, a set of template-based C++ classes that simplify the programming of COM objects.
C++ Language Reference
Describes the C++ programming language as implemented in Microsoft C++.
Generics and Templates
Discusses the differences between generics and templates.