C++29 phases · 114 topics
Progress
0 / 114
Foundations
▸
Template Basics & Instantiation
▸
Template Specialization
▸
Variadic Templates & Parameter Packs
Core Concepts
▸
Alias Templates & Template Template Parameters
▸
Template Argument Deduction & Guides
▸
CRTP (Curiously Recurring Template Pattern)
Intermediate Skills
▸
Compile-Time Computation (constexpr templates)
▸
Type Traits & SFINAE
▸
SFINAE Fundamentals
Advanced Topics
▸
std::enable_if & Overload Resolution
▸
Expression SFINAE & decltype
▸
C++20 Concepts
Expert Level
▸
Requires Expressions
▸
Abbreviated Function Templates
▸
Constrained Auto & Template Template Constraints
Mastery
▸
Value Categories (lvalue, xvalue, prvalue)
▸
Move Constructor & Move Assignment
▸
std::move & std::forward
Ecosystem
▸
Return Value Optimization (RVO/NRVO)
▸
Reference Collapsing Rules
▸
Move-Only Types & unique_ptr
Architecture
▸
Perfect Forwarding in Variadic Templates
▸
RAII Principle
▸
std::unique_ptr Implementation
Optimization
▸
std::shared_ptr & Control Blocks
▸
std::weak_ptr & Circular References
▸
Custom Deleters
Deployment
▸
make_shared vs make_unique Performance
▸
enable_shared_from_this
▸
Allocator Model
Phase 11
▸
std::vector Growth & Reallocation
▸
std::map vs std::unordered_map Internals
▸
std::string SSO (Small String Optimization)
Phase 12
▸
Iterator Categories & Invalidation
▸
Parallel STL Algorithms (C++17)
▸
std::deque Block Structure
Phase 13
▸
Virtual Function Table (vtable)
▸
Virtual Inheritance & Diamond Problem
▸
Dynamic_cast & RTTI
Phase 14
▸
CRTP Static Polymorphism
▸
Policy-Based Design
▸
std::variant & std::visit Pattern
Phase 15
▸
Type Erasure (std::function, std::any)
▸
std::thread & jthread (C++20)
▸
Mutex, Lock Guard & Unique Lock
Phase 16
▸
Condition Variables
▸
std::atomic & Memory Ordering
▸
std::future & std::promise
Phase 17
▸
Thread Pools with std::async
▸
Lock-Free Programming with C++ Atomics
▸
Coroutine Concepts (promise_type, awaitable)
Phase 18
▸
co_await & Awaitable Types
▸
co_yield & Generator Patterns
▸
co_return & Promise Finalization
Phase 19
▸
Return Value Types (task, generator)
▸
Coroutine Frames & Allocation
▸
Real-World: async I/O with Coroutines
Phase 20
▸
constexpr Functions (C++11/14/17/20)
▸
consteval & constinit (C++20)
▸
Compile-Time Strings
Phase 21
▸
constexpr Containers
▸
Compile-Time Hashing
▸
if constexpr for Compile-Time Branching
Phase 22
▸
Static Reflection with constexpr
▸
Stack Unwinding & Exception Handling
▸
RAII & Exception Guarantees
Phase 23
▸
noexcept Specification & Optimization
▸
Exception Categories & Standard Exceptions
▸
Exception-Safe Resource Management
Phase 24
▸
Copy-and-Swap Idiom
▸
std::expected for Error Handling (C++23)
▸
As-If Rule & Undefined Behavior
Phase 25
▸
Copy Elision (C++17 Guaranteed)
▸
Return Value Optimization
▸
Inline Expansion Heuristics
Phase 26
▸
Devirtualization
▸
Loop Optimization & Vectorization
▸
Profile-Guided Optimization (PGO)
Phase 27
▸
Module Declarations & Interfaces
▸
Module Partitions
▸
Header Units vs Modules
Phase 28
▸
Module Ownership & Reachability
▸
Import & Export Semantics
▸
Private Module Fragments
Phase 29
▸
Migrating from Headers to Modules
C++ RoadmapCpp
Space mark complete
·
Esc close
·
Drag pan
·
Wheel zoom