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.