Notebook C++ - Tips and Tricks with Templates is available as paperpack
One of my long-term book projects, Notebook C++ - Tips and Tricks with Templates, is now available as a paperback version on Amazon.
More information at andreasfertig.com/books/notebookcpp-tips-and-tricks-with-templates/ or directly on Amazon. The ebook versions (PDF, mobi) are still available on Leanpub.
Here is the table of contents:
- Contents
- Notes by Standard at a Glance
- Notes belonging to C++11
- Notes belonging to C++17
- Notes belonging to C++20
- Tips and Tricks with Templates
- Note 1: Know the name
- Note 2: Templates can have type and non-type parameters
- Note 3: When to use
typename
, whenclass
- Note 4: The parts of a variadic template
- Note 5: There are no implicit conversions for template parameters
- Note 6: Alias template for clean TMP
- Note 7: Variable template for clean TMP
- Note 8: The trailing-return-type with
decltype
andvoid()
- Note 9: Use
declval
when you need to construct a type for testing during compile-time - Note 10: What
void_t
does - Note 11: Keep that array's size
- Note 12: There is no else if in C++
- Note 13: More useful than it appears:
always_false
- Note 14: Prefer
auto
as NTTP to reduce redundancy - Note 15: Block template argument deduction
- Note 16: Fold expressions and the comma operator
- Note 17: Poor men's fold expressions
- Note 18: From an array to a pack
- Note 19: From an array to a pack with templated lambda
- Note 20: Create objects in place for direct use
- Note 21: Guidelines for efficient use of templates
- Note 22: Put
enable_if
on the return type - Note 23:
enable_if
and how to disable a member function - Note 24: How to disable a special member function
- Acronyms
- Bibliography
- Index
Andreas