🌱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⚡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🚀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🔬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 PathFor 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++ PathTop 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