Skip to content

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

TopicDescription
C++ Jargon Encyclopedia120+ professional terms systematically explained: value categories, overload resolution, SFINAE, type erasure, exception safety, UB, and more
Memory Model and ConcurrencyFrom C++11's memory model to C++26's Senders/Receivers
Template MetaprogrammingFrom SFINAE to Concepts — the evolution of template techniques
RAII and Resource ManagementFrom constructors/destructors to smart pointers to coroutine scope guards
Compile-Time Computationconstexprconstevalconstinit → reflection
Compiler OptimizationsFull optimization pipeline: inlining, SROA, loop vectorization, LTO, PGO
ABI Deep DiveName mangling, vtable layout, exception ABI, calling conventions, symbol visibility, ABI versioning strategies
C++ Design PatternsClassic design patterns implemented with modern C++
Value Categories Deep DiveFrom C to C++17: five value categories, materialization, move semantics, perfect forwarding, copy elision
Performance OptimizationMove semantics, small object optimization, cache-friendly design
Object LifetimeStorage duration, subobjects, dangling pointers and references, implicit object creation, constexpr lifetime
Toolchain and EcosystemCompilers, build systems, package managers, sanitizers

Reading Recommendations

If you are a C++ beginner:

  1. First read through all features of C++11
  2. Then browse C++14 → C++17 → C++20 in version order
  3. Then pick topics of interest for deeper study

If you are an experienced C++ developer:

  1. Start from the version you currently use and quickly learn about new features in subsequent versions
  2. Focus on the topics section to build a cross-version knowledge system
  3. Keep an eye on the cutting-edge developments in C++26/29

Released under the MIT License