The first edition of this book was published almost 15 years ago. We had set out to write the definitive guide to C++ templates, with the expectation that it would be useful to practicing C++ programmers. That project was successful: It’s been tremendously gratifying to hear from readers who found our material helpful, to see our book time and again being recommended as a work of reference, and to be universally well reviewed. That first edition has aged well, with most material remaining entirely relevant to the modern C++ prog rammer, but there is no denying that the evolution of the language—culminating in the “Modern C++” standards, C++11, C++14, and C++17 —has raised the need for a revision of the material in the first edition. So with this second edition, our high-level goal has remained unchanged: to provide the definitive guide to C++ templates, including both a solid reference and an accessible tutorial. This time, however, we work with the “Modern C++” language, which is a significantly bigger beast (still!) than the language available at the time of the prior edition.