© Will Briggs 2019
Will BriggsC++ for Lazy Programmershttps://doi.org/10.1007/978-1-4842-5187-4_20

20. Templates

Will Briggs
(1)
Lynchburg, VA, USA
 
Would I write a function or class that takes ints, and another just like it except it takes strings, and another just like it except it takes Ubergeeks? That doesn’t sound lazy! This chapter enables us to write it once, using templates.

Function templates

Recall this function for swapping ints, from Chapter 8:
void swap (int& arg1, int& arg2)
{
      int temp = arg2; arg2 = arg1; arg1 = temp;
}
That’s fine for int, but what if I want doubles? strings? Heffalumps? I don’t want to write new versions for every type I encounter! Here’s the fix.
template <typename T>
void swap (T& arg1, T& arg2)
{
      T temp = arg2; ...

Get C++ for Lazy Programmers: Quick, Easy, and Fun C++ for Beginners now with the O’Reilly learning platform.

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.