← 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