This documentation is archived and is not being maintained.
When Should You Use Templates?
Visual Studio .NET 2003
Templates are often used to:
- Create a type-safe collection class (for example, a stack) that can operate on data of any type.
- Add extra type checking for functions that would otherwise take void pointers.
- Encapsulate groups of operator overrides to modify type behavior (such as smart pointers).
Most of these uses can be implemented without templates; however, templates offer several advantages:
- Templates are easier to write. You create only one generic version of your class or function instead of manually creating specializations.
- Templates can be easier to understand, since they can provide a straightforward way of abstracting type information.
- Templates are type-safe. Because the types that templates act upon are known at compile time, the compiler can perform type checking before errors occur.
What do you want to know more about?
- Templates vs. C/C++ macros
- Templates vs. void pointers
- Templates and collection classes
- Templates and smart pointers