Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
The C++20 Masterclass : From Fundamentals to Advanced
Rating: 4.6 out of 5(5,778 ratings)
39,052 students

The C++20 Masterclass : From Fundamentals to Advanced

Learn and Master Modern C++ From Beginning to Advanced in Plain English : C++11, C++14, C++17, C++20 and More!
Created byDaniel Gakwaya
Last updated 11/2025
English

What you'll learn

  • C++ 20
  • Ranges
  • Concepts
  • Modules
  • Coroutines
  • C++ 17
  • C++ 14
  • C++ 11
  • C++98
  • Operator Overlading
  • classes
  • variables and data types
  • Inheritance
  • Polymorphism
  • Const correctness
  • static variables
  • Class Templates
  • Exceptions
  • Move semantics
  • Stl containers, iterators and algorithms
  • Function like entities and callbacks
  • Lambda expressions
  • Character manipulation and strings
  • Return value optimization
  • And much more!

Coding Exercises

This course includes our updated coding exercises so you can practice your skills as you learn.

See a demo
Image of coding exercise example

Course content

50 sections565 lectures113h 50m total length
  • Welcome9:28

    Discover modern C++ from fundamentals to C++20, blending high-level programming with hardware proximity, and master ranges, modules, and concepts through practical exercises.

  • Get Help (Fast)0:53
  • Getting the most out of the course6:47

    Watch the videos you’re interested in, complete the exercises, and experiment with the code to make it your own, especially if you’re a beginner who should invest time.

  • Source code, Slides and Questions [IMPORTANT]1:12

Requirements

  • Strong drive and willingness to learn
  • Access to a PC or Mac with an internet connection
  • I'll teach you the rest

Description

Welcome to the C++ 20 Masterclass! A course designed to teach you cutting edge modern C++ from the absolute beginning all the way to very advanced topics, the topics you need in areas where C++ is used massively in modern times. Want to be a confident game developer? High performance applications in the financial sector, how about powerful software modules on top of which server systems, network infrastructure, database systems, even operating systems themselves run on top of? Well C++ is the dominant language used in these areas and many more! C++ is the programming language even other programming languages and technologies like NodeJS, PHP, Java, JavaScript and many more are written in.

By learning modern C++, you will be setting yourself up for success in writing software that runs devices ranging from bare metal embedded devices,  to mainstream electronic tech products like fridges, toasters, to networking infrastructure like routers and switches, all the way to power plants, manufacturing facilities and medical equipment. C++ is simply everywhere!

This course was carefully designed in a way  that it  will make you ready to take on technologies  and industries where C++ is widely used, by teaching you Modern C++ the way it is used in industry, and you will learn and master how to use shiny new features from the latest C++ standard (C++20) like ranges, modules coroutines, concepts, the three way comparison infrastructure and many more features spread out through out chapters and lectures in the course.

This course will teach you modern C++ from the absolute beginning all the way to a point where you can use advanced features like function templates, class templates, polymorphism, move semantics, functors , callbacks, STL container, iterators and algorithms, I will even show you how to build iterators for your own collection types, giving you the tools to  plug into the infrastructure provided by the C++ standard library to tune it to your own needs. Here are some of the things you'll get to master through this course : 

  • C++20

  • C++17

  • C++14

  • C++11

  • C++98

  • Ranges

  • Modules

  • Concepts

  • Coroutines

  • Classes

  • Variables and data types

  • Functions

  • Inheritance

  • Polymorphism

  • Const correctness

  • Static variables

  • Storage duration

  • Linkage

  • One Definition rule

  • Operator Overloading

  • Three way comparison infrastructure

  • Function like entities

  • Move semantics

  • STL containers, iterators and algorithms

  • And much more!

By the time you're done with the course, you will be ready to use modern C++ with standards C++ 11,C++14, C++17 and C++ 20,  but you will also have the tools necessary to read, understand and work with older C++ code bases with C++98 and below out there, making your  C++ skills valuable across a wide range of areas regardless of the C++ standard in use.

The course was designed with complete beginners in mind. So if you have never programmed a computer before, don't worry, I will be with you every step of the way, showing you around, teaching you the tools, constructs and mechanisms necessary to build real C++ projects.

Existing C++ developers or experienced developers from other programming languages will also get a lot of value from the course as we cover advanced topics not covered in other online courses and books as far as I can tell. These include things like building  your own iterators, callback functions and many more.

Now C++ is a very powerful language used by big companies like Microsoft, Apple, Google, NASA, and many more across a wide range  of products and I can talk about it all day. I am privileged to have been using it in my daily work for the last decade and I am  excited to share my accumulated knowledge with you in this course.

If you are serious about learning and mastering cutting edge modern C++, then this course is designed with the skill, the patience and the depth needed to get there as efficiently as possible. Please check some of the preview lectures, and lets get you started with modern C++ development, using C++ 20 as our base standard.

Who this course is for:

  • Aspiring developers
  • Students and researchers
  • Existing C++ developers willing to spice up on C++ 20