October 1997
Intermediate to advanced
800 pages
20h 48m
English
A template function definition is a blueprint for function calls. When you call a template function, the compiler “fills in” each TYPE from the template function's signature (and the body of the function, if applicable) with a type from the calling function's argument. We call this parameter substitution instantiation. Instantiations generate separate function definitions every time you call a template function with a different type. Type matching must be exact since conversion rules do not apply between a function call argument type and a template function TYPE.
Template functions instantiate from inline and non-inline definitions. When a program includes a header file with an inline template ...