• $690 or 5 monthly payments of $145

Modern C++ Programming course

  • Course
  • 201 Lessons
  • Discord access

Modern C++ Programming Masterclass is a comprehensive course designed to equip developers with the essential and advanced skills needed to write efficient, robust, and modern C++ code. Whether you're aiming to build large-scale applications, simple tools, or conduct research, this course offers a structured journey through the language’s fundamentals and its modern features.

Contents

Introduction

00-01-Introduction.mp4
Preview
00-02-Course Contents.mp4
00-03-Resources.mp4
C++ProgrammingMasterClassLabs.pdf
C++ Programming Masterclass.pdf

1: Introduction to C++

01-01-C++ Overview.mp4
Preview
01-02-C++ Hello World.mp4
01-03-Builing and Tooling.mp4
01-04-External Libraries.mp4
01-05-Static and Dynamic Linking.mp4
01-06-Package Managers.mp4

2: Language Fundamentals

02-01-Including Files.mp4
02-02-Macros.mp4
Preview
02-03-Conditional Compilation and Pragmas.mp4
02-04-Integral Data Types.mp4
02-05-Variables.mp4
02-06-Floating Point Data Types.mp4
02-07-Character Data Types.mp4
02-08-sizeof and const.mp4
02-09-Literals.mp4
02-10-Arrays.mp4
02-11-Pointers.mp4
02-12-Pointer Arithmetic.mp4
02-13-References.mp4
02-14-void and void Pointers.mp4
02-15-const and Pointers.mp4
02-16-Classic Enums.mp4
02-17-Scoped Enums.mp4
02-18-the volatile Qualifier.mp4
02-19-Arithmetic Operators.mp4
02-20-Relational and Logical Operators.mp4
02-21-Bitwise Operators.mp4
02-22-Assignment Operators.mp4
02-23-Operators Precedence and Associativity.mp4
02-24-Expressions.mp4
02-25-Modulo, Division and Integral Types.mp4
02-26-Control Flow - If Statement.mp4
02-27-Initializers in If Expressions.mp4
02-28-Control Flow - the Switch Statement.mp4
02-29-Control Flow - While and Do While.mp4
02-30-Loop Control.mp4
02-31-Control Flow - the for Loop.mp4
02-32-Functions.mp4
02-33-Trailing Return Type Syntax.mp4
02-34-the main Function.mp4
02-35-Labs Solutions Walkthrough.mp4
02-36-Passing Arguments to Functions.mp4
02-37-Inline Functions.mp4
02-38-Recursive Functions.mp4
02-39-constexpr.mp4
02-40-Function Overloading.mp4
02-41-Default Arguments.mp4
02-42-Function Argument Matching.mp4
02-43-the Stack and the Heap.mp4
02-44-Basic new and delete Usage.mp4
02-45-Namespaces.mp4
02-46-Casting.mp4

3: Object Oriented Programming

03-01-Object Orientation.mp4
03-02-Classes.mp4
03-03-Creating Objects.mp4
03-04-Constructors.mp4
03-05-Multi-Dimensional Arrays.mp4
03-06-the Conditional Operator.mp4
03-07-Additional Module 2 Labs Solutions Walkthrough.mp4
03-08-Review and Anonymous Objects.mp4
03-09-Delegating Constructors.mp4
03-10-const Member Functions and the mutable Keyword.mp4
03-11-the this Keyword.mp4
03-12-Member Visibility.mp4
03-13-static Members.mp4
03-14-Explicit Constructors.mp4
03-15-Destructors.mp4
03-16-Inheritance.mp4
03-17-Polymorphism.mp4
03-18-More Polymorphism.mp4
03-19-Abstract Types.mp4
03-20-Copying and Moving.mp4
03-21-Copy Constructor and Copy Assignment.mp4
03-22-Move Semantics.mp4
03-23-Move Constructor and Move Assignment.mp4
03-24-Making Things Move.mp4
03-25-Defaulted and Deleted Methods.mp4
03-26-Object Reuse.mp4
03-27-Forward Declarations.mp4
03-28-Simple Structure Initialization.mp4
03-29-Unions.mp4
03-30-Bit Fields.mp4
03-31-Nested Types.mp4

4: Operator Overloading

04-01-Overview.mp4
04-02-Member vs. Free Functions.mp4
04-03-Unary Operators.mp4
04-04-Overloading ++ and --.mp4
04-05-Binary Operators.mp4
04-06-Dynamic Cast.mp4
04-07-Binary Operators (cont).mp4
04-08-Operator Overloading with Global Functions.mp4
04-09-Overloading Cast Operators.mp4
04-10-Explicit and Implicit Operators.mp4

5: Standard Library Basics

05-01-The Standard Library.mp4
05-02-Containers.mp4
05-03-Vector.mp4
05-04-Type Inference (auto).mp4
05-05-Range-Based for.mp4
05-06-Array.mp4
05-07-Deque and List.mp4
05-08-Associative Containers.mp4
05-09-New Associative Containers.mp4
05-10-Container Adapters.mp4
05-11-Iterators.mp4
05-12-Algorithms.mp4
05-13-Review and Clarifications.mp4
05-14-erase and Iterators.mp4
05-15-Algorithms and Function Pointers.mp4
05-16-Functors.mp4
05-17-Strings.mp4
05-18-String Views.mp4
05-19-Emplacement vs. Insertion.mp4

6: I/O and Streams

06-01-Streams.mp4
06-02-Stream Manipulators.mp4
06-03-File IO.mp4
06-04-format (C++ 20).mp4
06-05-Using format.mp4
06-06-Formatting Custom Types.mp4

7: Modern Language Features

07-01-Lambda Functions.mp4
07-02-Lambda Rules.mp4
07-03-Lambda Captures.mp4
07-04-Storing Lambdas.mp4
07-05-Lambda Functions and auto.mp4
07-06-Uniform Initialization.mp4
07-07-Initializer Lists.mp4
07-08-Compile Time Assertions.mp4
07-09-Structural Decomposition.mp4
07-10-Attributes.mp4
07-11-decltype.mp4
07-12-noexcept.mp4
07-13-Module 3 Labs Solution Walkthrough.mp4
07-14-Thread Local Storage.mp4

8: Templates

08-01-Why Templates.mp4
08-02-Template Functions.mp4
08-03-Template Matching.mp4
08-04-Multiple Type Parameters.mp4
08-05-More on Template Functions.mp4
08-06-Template Instantiation.mp4
08-07-Template Linkage.mp4
08-08-Template Classes.mp4
08-09-Default Template Parameters.mp4
08-10-Memory Allocators.mp4
08-11-Template Specialization.mp4
08-12-Template Aliases.mp4
08-13-Creative Template Usage.mp4
08-14-Trait Classes.mp4
08-15-More Templates Features.mp4
08-16-Template Metaprogramming.mp4
08-17-Variadic Templates.mp4

9: Resource Management

09-01-RAII.mp4
09-02-RAII Examples.mp4
09-03-RAII in the Standard Library.mp4
09-04-Memory Management.mp4
09-05-unique_ptr.mp4
09-06-Smart Pointer Implementation.mp4
09-07-Custom Deleters.mp4
09-08-The Pimpl Idiom.mp4
09-09-shared_ptr.mp4
09-10-weak_ptr.mp4
09-11-Error Handling.mp4
09-12-Exceptions.mp4
09-13-Catching and Handling Exceptions.mp4

10: The C++ Standard Library

10-01-Overview.mp4
10-02-Random Numbers.mp4
10-03-variant.mp4
10-04-optional.mp4
10-05-any.mp4
10-06-invoke and apply.mp4
10-07-expected.mp4
10-08-chrono.mp4

11: Concurrency

11-01-Threads vs. Processes.mp4
11-02-CPUs.mp4
11-03-CPUs and Caches.mp4
11-04-Interlude - unique_ptr for Arrays.mp4
11-05-False Sharing.mp4
11-06-C++ Memory Model.mp4
11-07-Optimizations.mp4
11-08-Atomic Operations.mp4
11-09-Lazy Initialization.mp4
11-10-Threads.mp4
11-11-More Threading.mp4
11-12-Synchronization and Mutexes.mp4
11-13-Locks and Deadlocks.mp4
11-14-Protecting Rarely Updated Data.mp4
11-15-Recursive Locking.mp4
11-16-Condition Variables.mp4
11-17-More Concurrency.mp4

12: More C++

12-01-Concepts.mp4
12-02-Ranges.mp4
12-03-Views.mp4
12-04-Modules.mp4
12-05-Coroutines.mp4

Lab Solutions

Module02.zip
Module03.zip
Module04.zip
Module05.zip