Skip to content
C++
HomeLearn

Learn C++

Structured learning paths — from zero to expert. Choose your starting point, or browse specific topics in the reference.

Beginner
Start here
40–60 hoursNo C++ experience required

Zero to writing useful C++ programs. Variables, control flow, functions, basic OOP, the standard library.

Hello World & compilationVariables, types, operatorsControl flow (if, for, while)Functions & recursionClasses & OOP basicsVectors, strings, IO
Start Beginner Path
Intermediate
Most popular
60–100 hoursComfortable with basic C++

Deep OOP, templates, STL mastery, move semantics, RAII, smart pointers, and modern C++ idioms.

Templates & genericsMove semantics & value categoriesSmart pointers & RAIISTL containers & algorithmsLambda expressionsException handling
Start Intermediate Path
Advanced
C++20+
80–120 hoursStrong C++ fundamentals

Concepts, ranges, coroutines, modules, variadic templates, constexpr/consteval, and template metaprogramming.

Concepts & requires (C++20)Ranges & views (C++20)Coroutines (C++20)Modules (C++20)Variadic templatesTMP & policy-based design
Start Advanced Path
Expert
Expert
Open-endedDeep C++ experience

Reflection (C++26), contracts, execution model, ABI stability, allocators, lock-free programming, and the C++ object model.

Static reflection (C++26)Contracts & hardeningLock-free data structuresCustom allocators & PMRABI & binary compatibilitystd::execution (C++26)
Start Expert Path
From C
C background
20–30 hoursC programmers

For C developers: understand the C++ additions that replace common C patterns. RAII, classes, namespaces, templates, std::string.

C → C++ syntax differencesRAII vs manual cleanupNamespaces vs global scopestd::string vs char*std::vector vs malloc arraysClasses vs structs
Start From C Path
From Python / Java
Python/Java background
30–50 hoursPython or Java devs

For high-level language developers: understand manual memory management, value semantics, compilation model, and performance patterns.

Compilation vs interpretationValue semantics & copyingStack vs heap allocationNo garbage collector — RAIIPointers & referencesHeader files & linking
Start From Python / Java Path
Modernize Legacy C++
Legacy → Modern
20–40 hoursMaintaining older codebases

Migrate C++98/03/11 codebases to modern C++. Safe migration patterns, what to replace and why.

Raw pointers → smart pointersvoid* callbacks → std::functionManual loops → algorithms/rangesprintf → std::format#include guards → modulesC-style casts → C++ casts
Start Modernize Legacy C++ Path
Interview Prep
Interview
10–20 hoursJob seekers

Top C++ interview topics: memory management, OOP, templates, STL, concurrency, common pitfalls, and design patterns.

Big-O & STL container internalsVirtual dispatch & vtablesRule of 0/3/5Copy/move semanticsCommon UB & pitfallsRAII & exception safety
Start Interview Prep Path