18.5 Default Arguments for Template Type Parameters
In addition, a type parameter can specify a default type argument. For example, the C++ standard’s stack
container adapter class template begins with:
template <class T, class Container = deque<T>>
which specifies that a stack
uses a deque
by default to store the stack
’s elements of type T
. The declaration
stack<int> values;
creates a stack
of int
s class-template specialization (behind the scenes) and uses it to instantiate the object named values
. The stack
’s elements are stored in a deque<int>
.
Default type parameters must be the rightmost (trailing) parameters in a template’s type-parameter list. When you instantiate a template with two or more default arguments, if an omitted argument ...
Get C++ How to Program, 10/e now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.