16.2.11 Default template arguments
A later refinement to C++ templates was the concept of default
template arguments. Templates allow C++ types to be
parameterized and as such, the parameter is in essence a variable
that the programmer must specify when instantiating the template. This
refinement allows defaults to be specified for the template parameters.
This feature is used extensively throughout the Standard Template
Library (see section 16.2.13 Standard Template Library) to relieve the programmer from
having to specify a comparison function for sorted container classes.
In most circumstances, the default less-than operator for the type in
question is sufficient.
If your compiler does not support default template arguments, you may
have to suffer without them and require that users of your class and
function templates provide the default parameters themselves.
Depending on how inconvenient this is, you might begrudgingly seek some
assistance from the C preprocessor and define some preprocessor macros.
|