Learn C++
Choose a module to start learning. Each module builds on the previous one — we recommend going in order.
C++ Fundamentals
Master the core building blocks of C++ — from your first program to control flow and functions.
Object-Oriented C++
Classes, objects, inheritance, polymorphism, and the pillars of OOP in C++.
Memory & Resources
Master C++'s ownership model — from raw pointers through smart pointers and move semantics — to write code that never leaks.
Templates & Generic Programming
Write genuinely generic, reusable, zero-overhead abstractions using templates, concepts, and compile-time programming.
STL & Algorithms
Master the Standard Template Library — containers, iterators, algorithms, ranges, and functional programming.
Error Handling & Safety
Write robust C++ code with proper error handling — exceptions, RAII safety guarantees, sum types, and defensive programming patterns.
Concurrency
Write correct, efficient multithreaded C++ — threads, synchronization, atomics, and parallel algorithms.
Modern C++ & Best Practices
The latest C++ standards (C++17/20/23/26), build systems, testing practices, and professional coding guidelines.