Templates are one of the many powerful features of Modern C++ programming. And with each new C++ standard, they become more important.
Templates provide an efficient way to make your code more flexible and reusable, this way you can avoid repeating code that would otherwise be identical except for different types. Templates also give you the ability to provide abstraction without a performance penalty.
However, templates can be difficult to apply, can be counterintuitive, and have tricky error messages.
This course gives you the necessary information to overcome these hurdles and dive into the advanced topics. You’ll visit the basics such as function and class templates, and then explore the details to templates such as instantiation and fold expressions. Our journey also includes techniques based on templates, the design, and future directions of templates such as concepts. Based on this exhaustive tour of templates, a basic understanding of C++ is sufficient to master this course.
Let’s get started!
Templates are one of the many powerful features of Modern C++ programming. And with each new C++ standard, they become more impo...Show More
Content
1.
Introduction
2 Lessons
Get familiar with C++ templates, covering fundamentals and advanced programming concepts for better abstraction.
2.
Basics
20 Lessons
Unpack the core of function, class, and template parameter concepts in C++ templates.
3.
Details
18 Lessons
Examine C++ template instantiation, variadic templates, fold expressions, class template friendship, and dependent names usage.
4.
Techniques
18 Lessons
Grasp the fundamentals of automatic return type, template metaprogramming, type-traits, and constexpr in C++.
5.
Design
24 Lessons
Dig into static and dynamic polymorphism, CRTP, expression templates, idioms, and patterns in C++.
6.
Future
7 Lessons
See how it works to enhance C++ generic programming with concepts, constraints, and type safety.
7.
Conclusion
2 Lessons
Master the significance and future enhancements of templates in C++, and learn about the author.
Certificate of Completion
Showcase your accomplishment by sharing your certificate of completion.
Course Author:
Developed by MAANG Engineers
Trusted by 2.8 million developers working at companies
"These are high-quality courses. Trust me. I own around 10 and the price is worth it for the content quality. EducativeInc came at the right time in my career. I'm understanding topics better than with any book or online video tutorial I've done. Truly made for developers. Thanks"
Anthony Walker
@_webarchitect_
"Just finished my first full #ML course: Machine learning for Software Engineers from Educative, Inc. ... Highly recommend!"
Evan Dunbar
ML Engineer
"You guys are the gold standard of crash-courses... Narrow enough that it doesn't need years of study or a full blown book to get the gist, but broad enough that an afternoon of Googling doesn't cut it."
Software Developer
Carlos Matias La Borde
"I spend my days and nights on Educative. It is indispensable. It is such a unique and reader-friendly site"
Souvik Kundu
Front-end Developer
"Your courses are simply awesome, the depth they go into and the breadth of coverage is so good that I don't have to refer to 10 different websites looking for interview topics and content."
Vinay Krishnaiah
Software Developer
Hands-on Learning Powered by AI
See how Educative uses AI to make your learning more immersive than ever before.
AI Prompt
Code Feedback
Explain with AI
AI Code Mentor
Free Resources