Modern C++ Programming course
Buy now
Learn more
Discussions
Introduction
00-01-Introduction.mp4
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
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
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
Products
Course
Section
Lesson
02-02-Macros.mp4
02-02-Macros.mp4
Modern C++ Programming course
Buy now
Learn more
Discussions
Introduction
00-01-Introduction.mp4
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
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
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