Beginning C++ Templates

Understand templates in depth & create generic algorithms and classes.
Rating: 4.5 out of 5 (990 ratings)
32,206 students
English [Auto]
Understand the syntax of function templates & classes
Understand the inner working of templates
Understand & implement generic algorithms and classes


  • Basic knowledge of C++
  • Understand basic C++ constructs such as functions and classes


Note:This is an excerpt from the course Beginning Modern C++. 

C++ templates are used for creating high performance algorithms and classes. Most of the high performance libraries, such as Active Template Library, Windows Template Library, Adaptive Communication Environment, etc, have been implemented through C++ templates.

Templates are a challenge for any novice C++ programmer. But, this course will help you understand the syntax of templates. It gently takes you through the basics and then slowly builds upon the advanced concepts such as specialization, variadic templates, etc. All the concepts are explained with examples in Visual Studio, but will work in any C++11 compiler.

Have fun learning templates!

Who this course is for:

  • C++ programmers who want to understand templates

Course content

2 sections17 lectures1h 17m total length
  • Introduction
  • Prerequisites
  • Source Code
  • Introduction to Templates
  • Assignment I
  • Template Argument Deduction & Instantiation
  • Explicit Specialization
  • Non-type Template Arguments
  • Assignment II
  • Variadic Templates - Part I
  • Variadic Templates - Part II


Trainer, developer & founder at Poash Technologies
Umar Lone
  • 4.5 Instructor Rating
  • 4,592 Reviews
  • 49,593 Students
  • 7 Courses

Civil engineer who found his calling in software development. Never worked as a Civil engineer, jumped at the first chance and started teaching C++ & Visual C++ 15 years ago. Currently, trains software professionals in various software companies in different technologies, such as Modern C++, Advanced C++, STL, Design Patterns, Android, Unity, Linux, etc. Very passionate about teaching and has trained more than 20,000 software professionals in a teaching career spanning more than 17 years. An avid gamer, currently trying his hand with game development in Unity & Unreal. Has a few Android applications to his credit, including one on Design Patterns.

Only thing he likes more than C++ is Modern C++.