The Complete C Suite Programming Bundle

10 Courses & 80 Hours
You save 97% -

What's Included

Complete Modern C++
  • Certification included
  • Experience level required: Beginner
  • Access 208 lectures & 18 hours of content 24/7
  • Length of time users can access this course: Lifetime

Course Curriculum

208 Lessons (18h)

  • Your First Program
  • Software Installation
    Instructor & Course Introduction3:01
    Source Code & Slide Deck
    Required Software
    Visual Studio 2015 Installation4:32
    Visual Studio 2017/19 Installation2:44
    CodeBlocks Installation5:06
    Cevelop Installation5:31
    XCode Installation3:32
  • Fundamental Language Facilities
    What is C++?3:31
    First C++ Program9:12
    Compilation & Build3:09
    C++ Fundamental Types7:57
    Basic Console Input/Output5:56
    Functions - I9:13
    Functions - II9:05
    Debugging Basics5:40
    Uniform Initialization9:21
    Pointer Type8:25
    Reference Type5:31
    Reference Vs Pointer6:58
    const Qualifier4:19
    const Qualifier & Compound Types7:30
    Automatic Type Inference (auto)7:00
    Range-based For Loop - I4:32
    Range-based For Loop - II6:18
    Function Overloading9:07
    Default Function Arguments3:43
    Inline Functions7:36
    Function Pointers4:53
  • Memory Management - I
    Dynamic Memory Allocation - I (malloc)9:36
    Dynamic Memory Allocation - II (new)6:19
    Dynamic Memory Allocation - III (new[])6:40
    Dynamic Memory Allocation - IV (2D Arrays)5:07
  • Classes & Objects
    Object Oriented Programming Basics5:50
    Constructor & Destructor4:28
    Non-static data member initialization4:39
    this Pointer4:46
    Constant Member Functions3:14
    Static Members5:12
    Copy Constructor - I4:52
    Copy Constructor - II4:40
    Delegating Constructor4:01
    Default & Deleted Functions5:18
  • Move Semantics
    Value Categories7:10
    Move Semantics Basics3:23
    Move Semantics Implementation3:44
    Rule of 5 & 014:30
    Copy Elision8:22
    std::move Function7:52
  • Operator Overloading
    Operator Overloading - I (Basics)8:28
    Operator Overloading - II - (Assignment Operator)4:17
    Operator Overloading - III (Global Operators)5:48
    Operator Overloading - IV - (Friend Functions)2:29
    Operator Overloading - V (Smart Pointers)5:04
    Operator Overloading - VI (Smart Pointers)4:34
    Operator Overloading - VII (Rules)1:55
    Type Conversion - I5:56
    Type Conversion - II (Primitive to User-defined)5:39
    Type Conversion - III (User-defined to primitive)2:50
    Initialization vs assignment5:18
  • Memory Management - II
    unique_ptr - I5:11
    unique_ptr - II10:10
    weak_ptr - I8:49
    weak_ptr - II6:26
    Circular Reference & weak_ptr10:26
  • More C++ Features
    enum Type - I3:42
    enum Type - II5:32
    C Style Strings6:49
    C++ std::string11:41
    String Streams9:45
    Constant Expressions (constexpr)9:24
    User-defined Literals5:59
    Initializer List8:27
    Automatic Dynamic Array (vector)8:43
    Union Type - I4:51
    Union Type - II4:56
  • Object Oriented Programming with C++
    Inheritance & Composition6:01
    Inheritance & Access Modifiers3:54
    Project - I (Introduction)2:06
    Project - II (Account & Savings classes)6:59
    Project - III (Inheriting Constructor)6:31
    Project - IV (virtual Keyword)8:53
    Project - V (Virtual Mechanism Internals)7:11
    Project - VI (Virtual Mechanism Walkthrough)6:42
    Project VII (override & final Specifiers)6:13
    Project VIII (Upcasting & Downcasting)5:45
    Project - IX (RTTI Overview)7:11
    Project - X (RTTI Operators)3:17
    13. Inheritance - Project XI6:03
    Abstract Class6:03
    Multiple Inheritance9:21
  • Exception Handling
    Introduction to Exception Handling7:58
    Catch Handlers3:58
    Stack Unwinding6:31
    Nested Exceptions5:10
    Exceptions in Constructors/Destructors7:06
    noexcept Specifier8:20
  • File I/O
    Raw String Literals4:03
    Experimental Filesystem Library3:49
    Overview of File I/O6:44
    Error Handling in Files5:43
    File Copy Utility3:29
    Character Input/Output & Seeking7:22
    Binary Input/Output8:30
  • Templates
    Introduction to Templates7:48
    Template Argument Deduction & Instantiation6:27
    Explicit Specialization5:54
    Nontype Template Arguments7:14
    Perfect Forwarding - I7:23
    Perfect Forwarding - II5:32
    Variadic Templates - I9:47
    Variadic Templates - II4:50
    Class Templates8:39
    Class Explicit Specialization - I5:41
    Class Explicit Specialization - II4:02
    Class Partial Specialization6:52
    Alias Templates8:07
    Static Assertion4:19
    Type Traits7:21
  • Lambda Expressions
    Function Objects - I6:39
    Function Objects - II6:57
    Lambda Expressions & Syntax4:36
    Lambda Expressions Internals5:00
    Lambda Capture List - I8:25
    Lambda Capture List - II4:07
    Lambda Capture List - III5:57
    Generalized Lambda Capture4:33
  • Standard Template Library
    Standard Library Components2:50
    std::list & std::forward_list4:59
    std::set & std::multiset5:42
    std::map & std::multimap7:34
    Unordered Containers Overview4:38
    std::unordered set & std::unordered map5:48
    Custom Hasher2:42
    Containers Comparison5:04
    Algorithms - I8:15
    Algorithms - II7:04
  • Concurrency
    Concurrency Basics5:42
    Thread Creation5:47
    Passing Arguments To Threads4:18
    Thread Synchronization6:17
    More Thread functions7:48
    Task-based Concurrency - I5:07
    Task-based Concurrency - II3:44
    Task Launch Policies4:38
    std::future Functions5:07
    Exception Propagation In Threads3:15
  • C++17 Core Language Additions
    Deprecated & Removed Features3:53
    Changes To Existing Features3:12
    Feature Test Macros5:50
    if/switch With Initialization5:47
    Inline Variables5:45
    Nested Namespaces1:51
    noexcept Specifier Changes3:35
    constexpr Lambda7:47
    Structured Binding8:07
    Argument Evaluation Order6:36
    Mandatory Copy Elision - I4:28
    Mandatory Copy Elision - II4:33
  • C++17 Template Additions
    Class Template Argument Deduction5:41
    Fold Expressions - I4:05
    Fold Expressions - II4:26
    Fold Expressions - III5:51
    Fold Expressions - IV2:34
    Type Trait Suffixes3:22
    Compile-Time if - I7:42
    Compile-Time if - II4:42
  • C++17 Standard Library Additions
    std::optional - I5:18
    std::optional - II3:50
    std::optional - III3:37
    std::variant - I5:57
    std::variant - II4:34
    std::variant - III (Visitation)5:58
    std::string_view - I8:39
    std::string_view - II8:13
    Filesystem Library - I (path)5:49
    Filesystem Library - II (directory_entry)7:00
    Filesystem Library - III (Directory Functions)5:09
    Filesystem Library - IV (File Permissions)5:44
    Parallel Algorithms - I3:49
    Parallel Algorithms - II7:32
    Parallel Algorithms - III4:24

Complete Modern C++

Umar Lone

Umar Lone | Trainer, Developer & Founder at Poash Technologies

4.5/5 Instructor Rating: ★ ★ ★ ★

Umar is a civil engineer who found his calling in software development. He never worked as a Civil Engineer as he jumped at the first chance and started teaching C++ & Visual C++ 15 years ago. Currently, Umar trains software professionals in various software companies in different technologies, such as Modern C++, Advanced C++, STL, Design Patterns, Android, Unity, Linux, etc. He is 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, Umar is currently trying his hand with game development in Unity & Unreal. He has a few Android applications to his credit, including one on Design Patterns.


This course teaches C++ as an object-oriented language with modern features. It focuses on teaching C++ concepts, both old and new, with clear examples. It builds upon the basic language facilities used to build more complex programs with classes, operator overloading, composition, inheritance, polymorphism, templates, concurrency, and others. It even digs deep into assembly to understand few concepts better. After every few topics, a quiz is presented that tests your understanding of the previous topics. Have fun learning Modern C++.

4.5/5 average rating: ★ ★ ★ ★

  • Access 208 lectures & 18 hours of content 24/7
  • Learn C++ concepts, both old & new, with clear examples
  • Use C++ as an object-oriented language
  • Demystify function & class templates
  • Use STL components in your applications
  • Write real-world applications in C++
  • Apply Modern C++ (C++11/14/17) in programs


Important Details

  • Length of time users can access this course: lifetime
  • Access options: desktop & mobile
  • Certificate of completion included
  • Redemption deadline: redeem your code within 30 days of purchase
  • Updates included
  • Experience level required: beginner


  • Basic programming knowledge in any computer language
  • Modern C++ compiler, preferably Visual Studio 2015/17/19 community (or XCode, Clang, g++, Cevelop, Eclipse CDT, Code::Blocks)


  • Unredeemed licenses can be returned for store credit within 30 days of purchase. Once your license is redeemed, all sales are final.