kb · c++ standards reference

Стандарт за стандартом, фича за фичейStandard by standard, feature by feature

Один HTML на фичу: что это, зачем ввели, как работает под капотом, пример, грабли, куда смотреть дальше. Читать понемногу, по разделу за раз — не учебник, а справочник для актуализации базы.One HTML page per feature: what it is, why it was introduced, how it works under the hood, an example, gotchas, where to look next. Meant to be read a little at a time, one section at a sitting — a reference for keeping the knowledge base current, not a textbook.

СтандартыStandards

кликабельны по готовностиclickable once ready

Каждый стандарт — своя папка со своим index.html внутри (навигация по разделам/фичам этого стандарта).Each standard has its own folder with its own index.html inside (navigation across that standard's sections/features).

C++11 в работеin progress

Фундамент современного C++The foundation of modern C++

move semantics, lambda, auto, smart pointers, threading, unordered-контейнеры — самый большой по объёму сдвиг языка со времён C++98.move semantics, lambda, auto, smart pointers, threading, unordered containers — the largest shift in the language since C++98.

21 фича в планеfeatures planned
C++14 в работеin progress

Малый релиз-заплаткаA small patch release

generic lambdas, decltype(auto), variable templates — доводка C++11 без больших архитектурных сдвигов.generic lambdas, decltype(auto), variable templates — polishing C++11 without major architectural shifts.

5 фич в планеfeatures planned
C++17 в работеin progress

Library Fundamentals доезжаютLibrary Fundamentals lands

optional, variant, string_view, structured bindings, if constexpr, parallel algorithms — многое уже описано частично в cpp_ts_extensions.md.optional, variant, string_view, structured bindings, if constexpr, parallel algorithms — much of it already partially covered in cpp_ts_extensions.md.

18 фич в планеfeatures planned
C++20 в работеin progress

Второй по величине сдвигThe second-largest shift

concepts, ranges, coroutines, modules, jthread, barrier/latch — часть уже частично покрыта в cpp_concurrency.md.concepts, ranges, coroutines, modules, jthread, barrier/latch — some of it already partially covered in cpp_concurrency.md.

18 фич в планеfeatures planned
C++23 в работеin progress

Актуальный принятый стандартThe current ratified standard

std::expected, deducing this, ranges-доводка, mdspan, stacktrace.std::expected, deducing this, ranges polish, mdspan, stacktrace.

12 фич в планеfeatures planned
C++26 в работеin progress

В разработке комитетомUnder committee development

Static reflection, std::execution (senders/receivers), hazard_pointer, rcu — крупнейшее добавление ещё не ратифицировано, но набор фич уже заморожен.Static reflection, std::execution (senders/receivers), hazard_pointer, rcu — the largest addition isn't ratified yet, but the feature set is already frozen.

14 фич в планеfeatures planned

Как этим пользоватьсяHow to use this

режим чтенияreading mode

Понемногу, по разделуA little at a time, section by section

Не проходить стандарт целиком за раз — один-два файла за присест, пока не станет скучно узнавать материал (тогда переходить к следующему стандарту).Don't go through a whole standard in one sitting — one or two files per session, until the material stops feeling fresh (then move to the next standard).

От C++11 к новымFrom C++11 toward newer ones

Фичи поздних стандартов часто — доводка или альтернатива более ранним (например, structured bindings в C++17 снимает часть боли std::tie из C++11) — двигаться по порядку выхода стандартов важнее, чем по личному интересу.Features from later standards are often a refinement of, or an alternative to, earlier ones (for instance, structured bindings in C++17 relieve some of the pain of C++11's std::tie) — following the standards' release order matters more than following personal interest.

Актуализация kb/*.md параллельноUpdating kb/*.md alongside it

Если фича здесь пересекается с существующими шпаргалками (cpp_concurrency.md, cpp_ts_extensions.md) — при случае свериться и обновить старый файл, а не дублировать знание молча.If a feature here overlaps with an existing cheat sheet (cpp_concurrency.md, cpp_ts_extensions.md) — cross-check and update the old file when the opportunity arises, rather than silently duplicating the knowledge.

формат страницы фичиthe feature-page format

Что / зачем / как под капотом / пример / грабли / связанные фичи / внешние ссылки — единый скелет для каждого файла, чтобы можно было листать не задумываясь о структуре, только о содержании.What / why / how under the hood / example / gotchas / related features / external links — the same skeleton for every file, so pages can be flipped through without thinking about structure, only content.

Внешние ссылки — только на первоисточники: cppreference.com, тексты предложений комитета (wg21.link), изредка блоги авторов фичи. Никаких SEO-агрегаторов.External links go only to primary sources: cppreference.com, committee proposal texts (wg21.link), occasionally a feature author's blog. No SEO aggregators.