Topics
This section organizes C++ core knowledge areas from a cross-version perspective. Each topic integrates the evolution of related features across multiple standard versions.
Topic List
| Topic | Description |
|---|---|
| C++ Jargon Encyclopedia | 120+ professional terms systematically explained: value categories, overload resolution, SFINAE, type erasure, exception safety, UB, and more |
| Memory Model and Concurrency | From C++11's memory model to C++26's Senders/Receivers |
| Template Metaprogramming | From SFINAE to Concepts — the evolution of template techniques |
| RAII and Resource Management | From constructors/destructors to smart pointers to coroutine scope guards |
| Compile-Time Computation | constexpr → consteval → constinit → reflection |
| Compiler Optimizations | Full optimization pipeline: inlining, SROA, loop vectorization, LTO, PGO |
| ABI Deep Dive | Name mangling, vtable layout, exception ABI, calling conventions, symbol visibility, ABI versioning strategies |
| C++ Design Patterns | Classic design patterns implemented with modern C++ |
| Value Categories Deep Dive | From C to C++17: five value categories, materialization, move semantics, perfect forwarding, copy elision |
| Performance Optimization | Move semantics, small object optimization, cache-friendly design |
| Object Lifetime | Storage duration, subobjects, dangling pointers and references, implicit object creation, constexpr lifetime |
| Toolchain and Ecosystem | Compilers, build systems, package managers, sanitizers |
Reading Recommendations
If you are a C++ beginner:
- First read through all features of C++11
- Then browse C++14 → C++17 → C++20 in version order
- Then pick topics of interest for deeper study
If you are an experienced C++ developer:
- Start from the version you currently use and quickly learn about new features in subsequent versions
- Focus on the topics section to build a cross-version knowledge system
- Keep an eye on the cutting-edge developments in C++26/29