← Languages

C++

Full course · 21 lessons

C++ is a systems programming language that gives you complete control over memory and hardware. It powers game engines, browsers (Chrome), operating systems, embedded devices, and high-frequency trading. These are the definitive free resources — vetted, current, and complete.

Knowledge Course
01

Getting Started with C++

Set up a C++ toolchain with g++, compile/run, namespaces, and I/O streams.

45 min→
02

Variables and Fundamental Types

Fundamental types, const/constexpr, auto deduction, fixed-width integers.

60 min→
03

Operators and Expressions

Arithmetic, comparison, logical, bitwise operators, precedence.

60 min→
04

Control Flow

if/else, switch, loops, range-based for, and jump statements.

60 min→
05

Functions and Overloading

Declarations vs definitions, overloading, default arguments, const references.

60 min→
06

Arrays, Strings, and Vectors

C arrays, std::string, std::vector, and multi-dimensional arrays.

60 min→
07

Pointers and References

Pointer vs reference semantics, pointer arithmetic, nullptr.

75 min→
08

Classes and Objects

Class definitions, access specifiers, constructors, static members, this.

75 min→
09

Constructors, Destructors, and Copy Semantics

RAII, copy constructors, move semantics, rule of three.

75 min→
10

Operator Overloading

Overload operators, comparison operators, increment/decrement.

60 min→
11

Inheritance and Polymorphism

Base/derived classes, virtual functions, abstract classes.

75 min→
12

Interfaces and Abstract Classes

Abstract classes as interfaces, multiple inheritance, polymorphic collections.

60 min→
13

Templates

Function templates, class templates, concepts, variadic templates.

75 min→
14

STL Containers

vector, map, unordered_map, set, deque, queue, stack.

75 min→
15

STL Algorithms and Iterators

sort, reverse, find, count_if, accumulate, lower_bound, binary_search.

75 min→
16

Smart Pointers

unique_ptr, shared_ptr, weak_ptr, ownership semantics.

60 min→
17

Exception Handling and RAII

try/catch, throwing, custom exceptions, RAII cleanup.

60 min→
18

Move Semantics and Rvalue References

std::move, rvalue references, perfect forwarding, move constructors.

60 min→
19

Lambdas and Functional Programming

Lambda expressions, captures, std::function, higher-order patterns.

60 min→
20

Concurrency

std::thread, mutex, lock_guard, async/future, condition_variable.

75 min→
21

Modern C++: C++17/20 Features

constexpr, structured bindings, variant, optional, modern idioms.

75 min→
Curated Resources