Chapter 4: Advanced Template Concepts

In the previous chapters, we learned the core fundamentals of C++ templates. At this point, you should be able to write templates that are perhaps not very complex. However, there are many more details concerning templates, and this chapter is dedicated to these more advanced topics. These include the following topics that we address next:

  • Understanding name binding and dependent names
  • Exploring template recursion
  • Understanding template argument deduction
  • Learning forwarding references and perfect forwarding
  • Using the decltype specifier and the std::declval type operator
  • Understanding friendship in templates

On completing this chapter, you will acquire a deeper knowledge of these advanced template concepts ...

Get Template Metaprogramming with C++ now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.