C++20 roadmapC++20 learning path
Explore topics across 52 suggested study days, at your own pace.
52Days
8Phases
52Days with material
C++20 learning map
Choose a topic to see its goal, prerequisites, and lessons.
Loading progress…
Choose a topic to preview its objective and open the lesson.
Reinforce toolchains, lifetimes, generic programming, the STL, and the memory model before adopting C++20 additions.
Express requirements directly with concepts, constrained templates, lambda templates, and class-type non-type template parameters.
Master immediate functions, initialization, comparisons, aggregates, lifetimes, and core C++20 language changes.
Organize build boundaries with modules and process data through spans, ranges, sentinels, and lifetime-safe lazy view pipelines.
Apply formatting, source locations, synchronized output, bit utilities, and chrono calendars and time zones with explicit contracts.
Combine jthread, cooperative cancellation, atomic wait/notify, semaphores, latches, and barriers into controlled concurrent pipelines.
Understand coroutine frames, promises, handles, awaiters, generators, asynchronous tasks, and their cancellation, exception, and lifetime boundaries.
End of the learning path