Beginning C++ Templates
4.3 (100 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
5,475 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Beginning C++ Templates to your Wishlist.

Add to Wishlist

Beginning C++ Templates

Understand templates in depth & create generic algorithms and classes.
4.3 (100 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
5,475 students enrolled
Created by Umar Lone
Last updated 4/2017
English
English [Auto-generated]
Price: Free
Includes:
  • 1.5 hours on-demand video
  • 4 Articles
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Understand the syntax of function templates & classes
  • Understand the inner working of templates
  • Understand & implement generic algorithms and classes
View Curriculum
Requirements
  • Basic knowledge of C++
  • Understand basic C++ constructs such as functions and classes
Description

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 is the target audience?
  • C++ programmers who want to understand templates
Compare to Other C++ Courses
Curriculum For This Course
16 Lectures
01:17:03
+
Function Templates
10 Lectures 43:38
Introduction
00:50

Prerequisites
00:24

Introduces generic programming. Also shows the basic syntax of templates that will get you started with writing your own function templates.

Introduction to Templates
07:48

Assignment I
00:11

Explains how 

  1. template arguments are deduced by the compiler
  2. compiler instantiates function template for specific types
Template Argument Deduction & Instantiation
06:27

Learn how to customize function templates for a specific type when the function algorithm is unsuitable for that type.

Explicit Specialization
05:54

In this video, you'll learn how to pass non-type template arguments to function templates. 

Non-type Template Arguments
07:14

Assignment II
00:11

This is a C++11 feature. This video will explain and demonstrate how to write function templates that can accept arbitrary number/type of arguments.

Variadic Templates - Part I
09:47

This is a continuation of the previous lecture and will demonstrate more features of variadic templates.

Variadic Templates - Part II
04:50
+
Class Templates
6 Lectures 33:31

You'll learn how to write classes that can work with arbitrary types. This will form the base for learning STL containers.

Class Templates
08:39

This video explains how to specialize class template for a specific data type.

Class Template Explicit Specialization - Part I
05:41

This video builds upon the previous lecture and shows how to specialize member functions only instead of the whole class

Class Template Explicit Specialization - Part II
04:02

Learn how to partially specialize class templates. Partial specialization is used by smart pointers for use with dynamic arrays.

Class Template Partial Specialization
06:51

Type aliases were introduced in C++11. This concept allows us to create new names for existing types, so that it is easier to represent it in our domain.

Type Aliases
08:07

Assignment III
00:11
About the Instructor
Umar Lone
4.3 Average rating
177 Reviews
6,035 Students
3 Courses
Trainer, developer & founder at Poash Technologies

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++ 13 years ago. Currently, trains software professionals in various IT companies in India in different technologies, such as C++, Advanced C++, STL, Design Patterns, Android, Unity, Linux, etc. Very passionate about teaching and has trained more than 10,000 software professionals in a teaching career spanning more than 10 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++.