9.2. Template Function Definition

Let's look at the formats for template functions. The first format is a template function declaration, or prototype.

template <class TYPE1, class TYPE2, class TYPEN> 
Type function_name(signature);

A template parameter list appears in front of a function prototype, consisting of the keyword template followed by a comma-separated list of class-type pairs enclosed by < and >. The template parameter list does not have to be on a line by itself, but readability improves with this arrangement. TYPE1, TYPE2, TYPEN are not reserved words (single letters like T work just as well), but their names must be distinct if you have more than one. Uppercase letters make type dependencies easy to locate in function definitions. ...

Get Navigating C++ and Object-Oriented Design 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.