The Modern C++ Core: Mastering C++11 and C++14

Master Modern C++ (C++11 & C++14) by learning not just the syntax, but the correct and effective use of its features. Refactor legacy-style code into safer, cleaner, and more expressive designs while deepening your understanding of ownership, performance, and concurrency in real-world applications.

Course Description

This course offers a comprehensive and practical exploration of Modern C++ (C++11 and C++14), designed to help developers write safer, clearer, and more expressive code. Through hands-on examples and guided refactoring of legacy C++98-style implementations, learners progressively adopt modern language and library features such as uniform initialization, move semantics, smart pointers, scoped enums, lambdas, templates, STL container improvements, and concurrency with std::thread and std::async. The focus is not just on syntax, but on understanding design intent, ownership models, exception safety, and performance-aware programming.


Whether you are new to Modern C++ or already familiar with its features, this course helps bridge the gap between knowing the tools and using them correctly. Beginners will gain a structured and confidence-building introduction to modern constructs, while experienced developers will deepen their understanding of subtle behaviors, best practices, and real-world application patterns. By the end of the course, participants will be able to apply Modern C++ features thoughtfully and effectively in production-quality systems.

Features

10-hrs On Demand Video

Course Completion Certificate

Priority Q/A

Community Access

Curriculum

Understand in detail on what is planned under each module

🧑‍🏫 Course Introduction

📊 Course Material

📄 Source Code

Required Software

Visual Studio 2017 Installation

CodeBlocks Installation

Cevelop Installation

XCode Installation

What is C++

First C++ Program

The C++ Build Process

Overview of Debugging in Visual Studio

Uniform Initialization (C++11)

Pointer Type & nullptr

Automatic Type Inference (auto) (C++11)

Range-Based For Loop - I (C++11)

Range-Based For Loop - II (C++11)

Review

Object Oriented Programming Basics

class

Constructor & Destructor

struct

Non-static Data Member Initialization (C++11)

this pointer

Constant Member Functions

Static Member Functions

Review

Copy Semantics - I

Copy Semantics - II

Delegating Constructor (C++11)

Default & Deleted Functions (C++11)

Quiz

Assignment

Value Categories (C++11)

Move Semantics Basics

Move Semantics Implementation

Rule of 5 & 0

Copy Elision

std::move Function

Perfect Forwarding - I (C++11)

Perfect Forwarding - II (C++11)

Quiz

Quiz

Assignment

Smart Pointers - I

Smart Pointers - II

Raw Pointers

unique_ptr

Sharing Pointers

Sharing std::unique_ptr

std::shared_ptr

Weak Ownership

weak_ptr Internals

Circular Reference

Deleter

Dynamic Arrays

Make Functions

Quiz

Assignment

enum - Basics

enum - Scoped Enums (C++11)

StringStreams

Practice

User Defined Literals

constexpr (C++11)

Initializer List

Dynamic Array - vector

Practice

noexcept Keyword (C++11)

Reuse

Inheritance & Access Modifiers

Project I

Project II

Project - III Exercise

Project IV

Project V

Project VI

Project VII

Project VIII

Upcasting & Downcasting

RTTI Overview

RTTI Operators

Abstract Class

13. Multiple Inheritance

Review

Quiz

Variadic Templates - I

Variadic Templates II

Alias Templates (C++11)

Type Traits (C++11)

Type Traits Suffixes (C++14)

static_assert (C++11)

Quiz

Callbacks using Function Pointers

Callbacks using Function Objects

Lambda Expressions

Lambda Expressions - Internals

Capture List - I

Capture List - II

Capture List - III

Generalized Lambda Capture (C++14)

std::function - I

std::function - II

std::bind-I

std::bind - II

std::bind - III

Quiz

Assignment

array

list & forward_list

Unordered Containers - I

Unordered Containers - II

Custom Hash Function

Container Changes in C++11 - I

Container Changes in C++11 - II

Container Changes in C++11 - III

Container Changes in C++11 - IV

Container Changes in C++11 - V

Quiz

Assignment

Concurrency Basics

Thread creation

Passing Arguments

Thread Synchronization

lock_guard

More Thread functions

async - I

async - II

Launch Policies

Future

Promise

Exceptions

Quiz

Assignment - I

Assignment - II

🏅 Course Certificate

Why Do This Course

Learn how to write safer and more robust C++ code using Modern C++ (C++11 & C++14) features correctly.

Move beyond syntax and understand the design intent behind smart pointers, move semantics, and RAII.

Refactor legacy C++98-style code into clean, expressive, and exception-safe implementations.

Gain clarity on ownership models, lifetime management, and performance-aware container selection.

Master modern constructs such as lambdas, templates, scoped enums, and concurrency utilities.

Learn to write multi-threaded applications using std::thread, mutexes, lock_guard, async, future, and promise for high-performance computing

Strengthen your ability to write idiomatic, maintainable, and production-quality C++ code.

Equip yourself with the knowledge and techniques used in professional C++ development across various industries, including game development, finance, embedded systems, and high-performance computing

Requirements

  • Prior experience writing production code in C++
  • Modern C++ compiler (Visual Studio 2022, g++ 13, clang 17)

Related Products

Additional courses that may be relevant to your interests

Image23

Instructor


- Hello! I'm Umar Lone

I've educated and mentored students and professionals globally, leveraging over 20 years of experience in C++, Object-Oriented Programming, Design Patterns, and related technologies. My professional background includes significant contributions to C++, Java, and C# projects with esteemed companies, alongside providing specialized project consultation & mentoring.


My current focus is on delivering comprehensive video courses that distill this extensive knowledge. I specialize in transforming intricate concepts into clear, practical, and actionable insights, supported by real-world examples. This approach is designed to equip you with the necessary clarity and confidence for sustained growth and impactful contributions within your projects and career trajectory.


Begin your learning journey with me now and unlock the advanced understanding and practical expertise essential for making a significant impact in your field.


Keep in touch

Subscribe for announcements, new courses & discount coupons

By submitting you agree to receive our newsletter as well as other promotional emails.