Autoplay
Autocomplete
Previous Lesson
Complete and Continue
The Complete Modern C++ 2021 Course**
Software Installation
Instructor & Course Introduction (3:01)
Source Code & Slide Deck
Required Software
Visual Studio 2015 Installation (4:32)
Visual Studio 2017/19 Installation (2:44)
CodeBlocks Installation (5:06)
Cevelop Installation (5:31)
XCode Installation (3:32)
Fundamental Language Facilities
What is C++? (3:31)
First C++ Program (9:12)
Compilation & Build (3:09)
C++ Fundamental Types (7:57)
Basic Console Input/Output (5:56)
Functions - I (9:13)
Functions - II (9:05)
Debugging Basics (5:40)
Uniform Initialization (9:21)
Pointer Type (8:25)
Reference Type (5:31)
Reference Vs Pointer (6:58)
const Qualifier (4:19)
const Qualifier & Compound Types (7:30)
Automatic Type Inference (auto) (7:00)
Range-based For Loop - I (4:32)
Range-based For Loop - II (6:18)
Function Overloading (9:07)
Default Function Arguments (3:43)
Inline Functions (7:36)
Function Pointers (4:53)
Namespace (9:24)
Assignments
Quiz
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 Basics (5:50)
Class (5:30)
Constructor & Destructor (4:28)
Structures (2:38)
Non-static data member initialization (4:39)
this Pointer (4:46)
Constant Member Functions (3:14)
Static Members (5:12)
Copy Constructor - I (4:52)
Copy Constructor - II (4:40)
Delegating Constructor (4:01)
Default & Deleted Functions (5:18)
Quiz
Move Semantics
Value Categories (7:10)
Move Semantics Basics (3:23)
Move Semantics Implementation (3:44)
Rule of 5 & 0 (14:30)
Copy Elision (8:22)
std::move Function (7:52)
Quiz
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 - I (5:56)
Type Conversion - II (Primitive to User-defined) (5:39)
Type Conversion - III (User-defined to primitive) (2:50)
Initialization vs assignment (5:18)
Quiz
Memory Management - II
unique_ptr - I (5:11)
unique_ptr - II (10:10)
shared_ptr (10:27)
weak_ptr - I (8:49)
weak_ptr - II (6:26)
Circular Reference & weak_ptr (10:26)
More C++ Features
enum Type - I (3:42)
enum Type - II (5:32)
C Style Strings (6:49)
C++ std::string (11:41)
String Streams (9:45)
Constant Expressions (constexpr) (9:24)
User-defined Literals (5:59)
Initializer List (8:27)
Automatic Dynamic Array (vector) (8:43)
Union Type - I (4:51)
Union Type - II (4:56)
Assignments
Quiz
Object Oriented Programming with C++
Inheritance & Composition (6:01)
Inheritance & Access Modifiers (3: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 XI (6:03)
Abstract Class (6:03)
Multiple Inheritance (9:21)
Quiz
Exception Handling
Introduction to Exception Handling (7:58)
Catch Handlers (3:58)
Stack Unwinding (6:31)
Nested Exceptions (5:10)
Exceptions in Constructors/Destructors (7:06)
noexcept Specifier (8:20)
Quiz
File I/O
Raw String Literals (4:03)
Experimental Filesystem Library (3:49)
Overview of File I/O (6:44)
Error Handling in Files (5:43)
File Copy Utility (3:29)
Character Input/Output & Seeking (7:22)
Binary Input/Output (8:30)
Assignments
Templates
Introduction to Templates (7:48)
Template Argument Deduction & Instantiation (6:27)
Explicit Specialization (5:54)
Nontype Template Arguments (7:14)
Perfect Forwarding - I (7:23)
Perfect Forwarding - II (5:32)
Variadic Templates - I (9:47)
Variadic Templates - II (4:50)
Class Templates (8:39)
Class Explicit Specialization - I (5:41)
Class Explicit Specialization - II (4:02)
Class Partial Specialization (6:52)
Alias Templates (8:07)
Static Assertion (4:19)
Type Traits (7:21)
Assignments
Lambda Expressions
Function Objects - I (6:39)
Function Objects - II (6:57)
Lambda Expressions & Syntax (4:36)
Lambda Expressions Internals (5:00)
Lambda Capture List - I (8:25)
Lambda Capture List - II (4:07)
Lambda Capture List - III (5:57)
Generalized Lambda Capture (4:33)
Assignments
Quiz
Standard Template Library
Standard Library Components (2:50)
std::array (4:02)
std::vector (4:38)
std::deque (2:21)
std::list & std::forward_list (4:59)
std::set & std::multiset (5:42)
std::map & std::multimap (7:34)
Unordered Containers Overview (4:38)
std::unordered_set & std::unordered_map (5:48)
Custom Hasher (2:42)
Containers Comparison (5:04)
Algorithms - I (8:15)
Algorithms - II (7:04)
Assignment
Quiz
Concurrency
Concurrency Basics (5:42)
Thread Creation (5:47)
Passing Arguments To Threads (4:18)
Thread Synchronization (6:17)
std::lock_guard (2:45)
More Thread functions (7:48)
Task-based Concurrency - I (5:07)
Task-based Concurrency - II (3:44)
Task Launch Policies (4:38)
std::future Functions (5:07)
std::promise (5:36)
Exception Propagation In Threads (3:15)
C++17 Core Language Additions
Deprecated & Removed Features (3:53)
Changes To Existing Features (3:12)
Attributes (5:58)
Feature Test Macros (5:50)
if/switch With Initialization (5:47)
Inline Variables (5:45)
Nested Namespaces (1:51)
noexcept Specifier Changes (3:35)
constexpr Lambda (7:47)
Structured Binding (8:07)
Argument Evaluation Order (6:36)
Mandatory Copy Elision - I (4:28)
Mandatory Copy Elision - II (4:33)
C++17 Template Additions
Class Template Argument Deduction (5:41)
Fold Expressions - I (4:05)
Fold Expressions - II (4:26)
Fold Expressions - III (5:51)
Fold Expressions - IV (2:34)
Type Trait Suffixes (3:22)
Compile-Time if - I (7:42)
Compile-Time if - II (4:42)
C++17 Standard Library Additions
std::optional - I (5:18)
std::optional - II (3:50)
std::optional - III (3:37)
std::variant - I (5:57)
std::variant - II (4:34)
std::variant - III (Visitation) (5:58)
std::any (6:33)
std::string_view - I (8:39)
std::string_view - II (8: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 - I (3:49)
Parallel Algorithms - II (7:32)
Parallel Algorithms - III (4:24)
Introduction to Templates
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock