Templates (sometimes called generics in other programming languages) provide the ability to parametrize types and functions with types.
Related categories 1
"Export" Restrictions, Part 1
Explains what export is, and how it's intended to be used. Also looks at the problems export is widely assumed to address, and why it does not in fact address them the way most people think.
Looks at why befriending a template in another namespace is easier said (in the standard) than done (using real-world compilers that don't quite get the Standard right).
C++ Templates FAQ
Covers advanced template topics and compiler specific issues.
C++ Templates: Metaprograms
Nicolai M. Josuttis and David Vandevoorde examine metaprogramming, or "programming a program." Learn how to lay out code that the programming system executes to generate new code that implements the functionality you really want.
Gnarly New C++ Language Features
Description and examples about some newer C++ template features which are now broadly supported by the compilers.
An Improved Variant Type Based on Member Templates
This article presents the class variant_t, which encapsulates a mechanism to hold values of arbitrary types.
Introduction to C++ Templates
C++ templates are a powerful mechanism for code reuse, as they enable the programmer to write code that behaves the same for data of any type. [PDF]
Multiple Dispatch: A New Approach Using Templates and RTTI
This article focuses on two new techniques based on templates and Run Time Type Identification (RTTI).
Templates and Inheritance Interacting in C++
Discover the interesting ways that templates and inheritance interact by taking a close look at named template arguments, the Empty Base Class Optimization (EBCO), the Curiously Recurring Template Pattern (CRTP), and parameterized virtuality.
Templates for Efficient Dynamic Type Checking
Presents a handy template that makes it easy to check casts without losing performance.
A new and useful template technique that radically simplifies the interface to class templates instantiable on native C++ types.
Typed Buffers, Part 1
This article treats memory buffers in C++, but with two twists: first, the buffers are generic, which means they can contain typed data. Second, the buffers are as efficient as their hosted type and the host operating system allows, in every aspect.
Typed Buffers, Part 2
This article does not treat buffers directly, but rather two operations that are commonly performed with buffers: filling a buffer with a value and copying between buffers and various containers.
Using Template Functions to Customize Library Behavior
Looks at function templates and how they can be used to provide hooks for customizing behavior.
An Introduction to Variadic Templates in C++0x
Introduces the syntax for declaring and using variadic templates, along with some simple examples of variadic function templates and variadic class templates. (April 24, 2009)
A Deeper Look at Metafunctions
This article investigates the use of metafunctions in template metaprogramming, and introduces the Boost Metaprogramming Library. It is an excerpt from the book, C++ Template Metaprogramming by David Abrahams and Aleksey Gurtovoy. (August 23, 2004)
Last update:June 11, 2013 at 15:50:19 UTC