Jump to ratings and reviews
Rate this book

C++ Templates: The Complete Guide

Rate this book
Templates are among the most powerful features of C++, but they remain misunderstood and underutilized, even as the C++ language and development community have advanced. In C++ Templates, Second Edition, three pioneering C++ experts show why, when, and how to use modern templates to build software that's cleaner, faster, more efficient, and easier to maintain. Now extensively updated for the C++11, C++14, and C++17 standards, this new edition presents state-of-the-art techniques for a wider spectrum of applications. The authors provide authoritative explanations of all new language features that either improve templates or interact with them, including variadic templates, generic lambdas, class template argument deduction, compile-time if, forwarding references, and user-defined literals. They also deeply delve into fundamental language concepts (like value categories) and fully cover all standard type traits. The book starts with an insightful tutorial on basic concepts and relevant language features. The remainder of the book serves as a comprehensive reference, focusing first on language details and then on coding techniques, advanced applications, and sophisticated idioms. Throughout, examples clearly illustrate abstract concepts and demonstrate best practices for exploiting all that C++ templates can do.

Understand exactly how templates behave, and avoid common pitfalls Use templates to write more efficient, flexible, and maintainable software Master today's most effective idioms and techniques Reuse source code without compromising performance or safety Benefit from utilities for generic programming in the C++ Standard Library Preview the upcoming concepts feature The companion website, tmplbook.com, contains sample code and additional updates.

832 pages, Hardcover

First published January 1, 2013

54 people are currently reading
172 people want to read

About the author

David Vandevoorde

6 books7 followers

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
26 (52%)
4 stars
21 (42%)
3 stars
2 (4%)
2 stars
1 (2%)
1 star
0 (0%)
Displaying 1 - 6 of 6 reviews
Profile Image for Alexander.
21 reviews
December 6, 2025
Very interesting and useful book. Even though on Goodreads the main author is listed as David Vandevoorde, this book has so many examples that it feels much closer to Nicolai M. Josuttis's style, yet he is mentioned only as a co-author.

The authors did a great job describing and demonstrating how templates work, why they matter, and where they can be used. All examples are filled with comments and additionally explained line by line after the code.

Even though I did not read the book to the end because I couldn't find enough time to practice all of the features myself, it still gave me lots of new knowledge. I can definitely recommend it to anyone who wants to become better at C++ templates.
4 reviews
October 5, 2019
Excellent and comprehensive. The second edition contains many interesting fragments regarding applications and of course a thorough and exhausting overview of their mechanism and form.
Profile Image for Benoit Blanchon.
Author 2 books7 followers
November 1, 2024
After reading it from cover to cover, I can say without hesitation that it's the best C++ I ever read.
Profile Image for shuohuan.
2 reviews
November 9, 2017
Although it's a bit late for the book being published since for modern C++ template constexpr has been introduced in C++11, which is around 6 years ago.
Nevertheless C++17 has added pieces to complete the whole picture(such as if constexpr, constexpr lambda, inline variable etc.)
Well written and explained in detail.
Displaying 1 - 6 of 6 reviews

Can't find what you're looking for?

Get help and learn more about the design.