February 2005
Beginner to intermediate
272 pages
4h 53m
English
Class templates must be specialized explicitly. For example, if we want to specialize the Heap container discussed in Class Template Explicit Specialization [46, 155], we have to provide a type name argument to the template:
Heap<int> aHeap;Heap<const char *> anotherHeap;
Function templates may also be specialized explicitly. Suppose we have a function template that performs a restricted old-style cast:

We may specialize the template explicitly when we call it, just as we must specialize a class template:
int a = cast<int,double>(12.3);
However, it’s typical and more convenient to let the compiler deduce ...
Read now
Unlock full access