January 2019
Intermediate to advanced
458 pages
10h 35m
English
It's often thought that templates in C++ are very heavy, and carry a severe penalty for using them. This completely misses the point of templates, which is that templates are merely meant to be used as a shorthand method for automating the generation of nearly identical code from a single template – hence the name.
What this effectively means is that for any function or class template we define, the compiler will generate an inline implementation of the template each time the template is referenced.
This is a pattern we commonly see in the C++ standard template library (STL), which, as the name suggests, makes heavy use of templates. Take, for example, a data structure like a humble map:
std::map<std::string, int> myMap;
What happens ...