Idiomatic C++ Atlas
The subjects of idiomatic C++ — from parameter passing to tooling-encoded style — each traced standard by standard. 35 topics across 8 categories, with examples from C++11 through the C++29 horizon.
Core semantics
6Parameter passingIn/out/in-out conventions, sinks, views, forwarding references.Ownership & lifetimesRAII, smart pointers, observer conventions, rule of zero.Value vs. reference semanticsRegular types, when to copy, when identity matters.Move semanticsstd::move discipline, elision, relocation.InitializationBraces vs. parens, NSDMI, designated initializers, EB.Const & constexpr correctnessLogical constness and the growing compile-time subset.
Design
4Generic & compile-time
3Code-level
4Compile-time & language mechanics
6Coroutine machineryPromise types, awaitables, symmetric transfer, generators.Async compositionFrom futures to senders/receivers and structured concurrency.UB & object lifetimelaunder, implicit lifetimes, start_lifetime_as, erroneous behavior.Declaration styleauto policy, CTAD, structured bindings, placeholders.Lambda idiomsIIFE, init-capture, stateless lambdas, recursion.Name lookup hygieneADL control, namespaces, using enum.
Memory & performance
4Text, numbers, time
4Boundaries & practice
4C interop & ABIextern C facades, opaque handles, out_ptr, #embed.Freestanding & embedded subsetNo-heap, no-exception C++ on constrained targets.Feature detection & migrationFeature-test macros, shims, standard-by-standard adoption.Tooling-encoded idiomWarnings, clang-tidy, hardened libraries — style as code.
No topics match.
C++26 entries follow the final working draft (N5032, Dec 2025) — compiler support is still early. C++29 rows are direction only: proposals under discussion, nothing adopted. Hollow dots on a card mark those direction-only rows.