Sorry, this page is no longer available
Sorry, this page is no longer available
We may earn an affiliate commission when you visit our partners.
Course image
Packt - Course Instructors

A smarter way to learn with interactive, real-time conversations that help you test your knowledge, challenge assumptions, and deepen your understanding as you progress through the course.

Read more

A smarter way to learn with interactive, real-time conversations that help you test your knowledge, challenge assumptions, and deepen your understanding as you progress through the course.

In this comprehensive course, you will dive deep into the world of C++ templates, gaining both theoretical knowledge and practical experience. You’ll start with foundational concepts like template syntax and basic function templates, before advancing to more complex topics like class templates, specialization, and template instantiation. By understanding how templates enhance code reusability and flexibility, you’ll unlock powerful programming techniques to elevate your C++ skills.

The course is structured into distinct modules focusing on key areas such as function templates, class templates, and template changes across C++ standards. You'll explore critical topics like non-type template parameters, template argument deduction, and the practical uses of variadic templates. In addition, we'll cover template optimizations introduced in C++11, C++14, C++17, and C++20, ensuring you’re equipped with the most up-to-date tools for real-world applications.

Whether you're a seasoned C++ developer or someone eager to master template programming, this course will provide you with the depth of knowledge required to use templates effectively in modern C++ programming. By tackling hands-on examples and a final project, you'll sharpen your problem-solving skills and get exposure to best practices in template-based design.

This course is perfect for intermediate to advanced programmers who already have a basic understanding of C++ syntax and object-oriented programming principles. It’s ideal for developers aiming to specialize in template programming and those who want to improve their skills in managing complex codebases.

By the end of the course, you will be able to create and optimize function and class templates, apply advanced template features introduced in modern C++ standards, use explicit and partial specialization, and confidently implement templates in real-world projects.

Enroll now

Here's a deal for you

Save money when you learn with a deal that may be relevant to this course.
All coupon codes, vouchers, and discounts are applied automatically unless otherwise noted.

What's inside

Syllabus

Introduction
In this module, we will introduce you to the course's structure, its primary goals, and why templates are a vital part of modern C++ programming. You'll gain a solid understanding of template syntax and learn the core concepts that will form the foundation for the rest of the course.
Read more

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Activities

Coming soon We're preparing activities for Modern C++ Templates In Depth. These are activities you can do either before, during, or after a course.

Career center

Learners who complete Modern C++ Templates In Depth will develop knowledge and skills that may be useful to these careers:

Reading list

We haven't picked any books for this reading list yet.
This classic book offers invaluable guidelines and advice for writing better C++ code. While not covering the very latest standards, the principles and practices discussed are fundamental for any serious C++ programmer. It's highly recommended for those who have a basic understanding of C++ and want to write more efficient, robust, and maintainable code. must-read for intermediate to advanced developers.
Explores the advanced features of C++, such as templates, metaprogramming, and the Standard Template Library. It valuable resource for programmers who want to write high-performance, reusable code.
A thorough and detailed introduction to C++ programming, this book is well-regarded for its clear explanations and comprehensive coverage of the language and standard library. It's suitable for beginners with some programming background or those looking for a deep dive into the fundamentals. is often used as a textbook in undergraduate programs.
Comprehensive guide to the C++ template metaprogramming. It covers all the basics of templating, as well as more advanced topics such as variadic templates and template metaprogramming.
As concurrent programming is increasingly important, this book provides a comprehensive guide to the C++ concurrent programming facilities introduced in C++11 and updated in later standards. It's essential for developers writing multi-threaded applications in C++. is suitable for intermediate to advanced C++ programmers.
Fun and engaging way to learn the C++ programming language. It teaches the basics of C++ through the development of a simple game.
Comprehensive introduction to the C++ programming language. It covers all the basics of the language, as well as more advanced topics such as object-oriented programming and data structures.
Comprehensive guide to data structures and algorithms in C++. It covers all the basics of data structures and algorithms, as well as more advanced topics such as graph algorithms and dynamic programming.
Classic guide to network programming in C++. It covers all the basics of network programming, such as sockets, protocols, and I/O.
Comprehensive guide to GUI programming in C++ using the Qt framework. It covers all the basics of GUI programming, as well as more advanced topics such as event handling and layout management.
Comprehensive guide to game development in C++. It covers all the basics of game development, such as graphics, sound, and physics.
Focuses on writing high-performance C++ code, covering topics like optimization techniques, memory management, and parallel programming. It's aimed at experienced C++ developers who need to build applications with demanding performance requirements. This book is valuable for those working in performance-critical domains.
Is an excellent starting point for anyone new to programming, using C++ as the vehicle to teach fundamental programming principles. It's widely used as a textbook in introductory programming courses at universities. While comprehensive, its focus is on foundational concepts rather than just the C++ language itself, making it suitable for beginners with no prior coding experience.
Written by the creator of C++, this concise book provides a high-level overview of the entire language and its standard library, including C++20 and some C++23 features. It is ideal for experienced programmers who want to get up to speed quickly with modern C++. It's not intended as a first programming book but rather a swift tour for those with existing programming knowledge.
A follow-up to 'Effective C++', this book focuses on the features and best practices introduced in C++11 and C++14. It's essential for developers transitioning to or working with these modern C++ standards. The item-based format provides concrete advice and explanations for writing clean and effective modern C++ code. is geared towards experienced C++ programmers.
This is the definitive reference manual for the C++ language, written by its creator. It provides a complete and authoritative description of C++ and its evolution. While not a tutorial for beginners, it is an indispensable resource for experienced C++ programmers and those who need a deep understanding of the language's intricacies. The latest edition covers C++11.
While not exclusively a C++ book, this seminal work on design patterns is highly relevant for C++ developers. It provides a catalog of reusable solutions to common software design problems, many of which are applicable and demonstrated in C++. Understanding design patterns is crucial for writing well-structured and maintainable C++ applications. is valuable for intermediate to advanced programmers.
Offers a fast-paced introduction to C++ for programmers who already know another language. It focuses on teaching practical C++ programming techniques from the outset, emphasizing the use of the standard library. It's a good choice for experienced developers who want to become proficient in C++ quickly. It covers similar ground to 'C++ Primer' but at a faster pace.
Gentle introduction to the C++ programming language. It is designed for beginners who have no prior programming experience.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser