Introduction
In the previous chapters, OOP was introduced, along with examples and use cases. Classes and best practices for creating them were covered in detail. In this chapter, we are going to look at another powerful feature of OOP—templates.
Templates allow the reuse of code for different data types. An example of the use of templates is the C++ standard template library (or STL). This library is a set of template classes that provide generic containers and algorithms. The library can be used with any data type, and this is achieved using template functions and classes. In this chapter, we will cover the creation of template classes and template functions to allow the creation of reusable code.
Specifically, we will be describing the following topics: template classes, template functions, and template specialization.
At its core, a template is a form of generic programming. It allows us to reuse a set of functionality, without that functionality needing to be specific...