kb · c++ reference

C++: стандарт, библиотеки, алгоритмыC++: the standard, libraries, algorithms

Независимые разделы: сам язык и стандартная библиотека по стандартам (C++11–26), ООП/умные указатели/контейнеры/шаблоны как отдельные механики C++, многопоточность, сторонние библиотеки (Boost и другие), интервью-паттерны алгоритмов и структур данных.Independent sections: the language and standard library by standard (C++11–26), OOP/smart pointers/containers/templates as distinct C++ mechanics, concurrency, third-party libraries (Boost and others), interview patterns for algorithms and data structures.

РазделыSections

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

Язык и стандартная библиотекаThe language and standard library

C++11 → C++26 по стандартам, один HTML на фичу — ядро языка и STL так, как их вводил каждый релиз стандарта.C++11 → C++26 by standard, one HTML per feature — the language core and STL as each standard release introduced them.

6 стандартовstandards
oop каркасskeleton

ООП в C++in C++

Конструкторы/деструкторы, наследование, полиморфизм, индексаторы (свойства и события опущены — их нет в языке), плюс RAII, Rule of 0/3/5, виртуальные таблицы.Constructors/destructors, inheritance, polymorphism, indexers (properties and events are omitted — the language has neither), plus RAII, the Rule of 0/3/5, vtables.

17 карточекcards
smart-pointers каркасskeleton

Умные указателиSmart pointers

Не API (это в stl/), а устройство внутри: control block, атомарный счётчик у shared_ptr, проблема циклов и weak_ptr, почему make_shared предпочтительнее new.Not the API (that's in stl/), but the internals: the control block, shared_ptr's atomic count, the cycle problem and weak_ptr, why make_shared beats new.

4 карточкиcards
containers-and-memory каркасskeleton

Контейнеры и памятьContainers & memory

Стек vs куча, категории и инвалидация итераторов, устройство std::vector (реаллокация, contiguous memory) и std::unordered_map (коллизии, rehashing). Деревья — в algorithms/.Stack vs heap, iterator categories and invalidation, std::vector internals (reallocation, contiguous memory) and std::unordered_map (collisions, rehashing). Trees live in algorithms/.

4 карточкиcards
templates-metaprogramming каркасskeleton

Шаблоны и метапрограммированиеTemplates & metaprogramming

SFINAE и concepts (C++20), вывод и специализация шаблонов, constexpr/consteval — с рабочими примерами, не только теорией.SFINAE and concepts (C++20), template deduction and specialization, constexpr/consteval — with working examples, not just theory.

3 карточкиcards
interview-questions чек-листchecklist

Вопросы на собеседованииInterview questions

8 категорий от базового ООП до глубокой памяти и метапрограммирования — только формулировки вопросов, ответы ещё не написаны.8 categories from basic OOP to deep memory and metaprogramming — question wording only, answers not yet written.

177 вопросовquestions
libraries каркасskeleton

Сторонние библиотекиThird-party libraries

Boost и другие библиотеки, без которых не пишется реальный C++ проект — версии API привязаны к релизам самих библиотек, не к стандарту языка.Boost and other libraries no real C++ project goes without — API versions here are tied to the libraries' own releases, not to the language standard.

52 библиотек в планеlibraries planned
algorithms каркасskeleton

Алгоритмы и структуры данныхAlgorithms and data structures

Interview-паттерны: two pointers, sliding window, binary search, DP, графы — распознавание триггеров задачи, а не учебный курс по CS. Каркас готов, страницы фич ещё не написаны.Interview patterns: two pointers, sliding window, binary search, DP, graphs — recognizing a problem's triggers, not a CS textbook course. Skeleton ready, feature pages not yet written.

14 категорий, ~60 паттерновcategories, ~60 patterns
patterns каркасskeleton

Паттерны проектированияDesign patterns

23 классических паттерна GoF (Creational/Structural/Behavioral) плюс C++-идиомы (RAII, PImpl, CRTP), которых у GoF не было. Каркас готов, страницы фич ещё не написаны.The 23 classic GoF patterns (Creational/Structural/Behavioral) plus C++ idioms (RAII, PImpl, CRTP) that GoF never had. Skeleton ready, feature pages not yet written.

4 категории, 30 паттерновcategories, 30 patterns
system-design каркасskeleton

System Design

Масштабирование, кэширование, шардирование БД, CAP-теорема, очереди сообщений — язык-агностичные темы собеседований по проектированию систем.Scaling, caching, database sharding, the CAP theorem, message queues — language-agnostic system-design interview topics.

10 тем в планеtopics planned
concurrency-patterns каркасskeleton

Многопоточность и асинхронностьConcurrency & asynchrony

Fundamentals (memory model, atomic, CAS/ABA) плюс архитектурные паттерны поверх stl/-примитивов (mutex, jthread): producer-consumer, thread pool, actor model. Заложен запас на расширение.Fundamentals (the memory model, atomic, CAS/ABA) plus architectural patterns built on stl/ primitives (mutex, jthread): producer-consumer, thread pool, the actor model. Built with room to grow.

4 темы + 10 паттернов в планеtopics + 10 patterns planned
build-tooling каркасskeleton

Сборка и инструментыBuild & tooling

CMake, Conan/vcpkg, санитайзеры, статический анализ, профилировщики — то, что не язык и не библиотека, но каждый день в работе.CMake, Conan/vcpkg, sanitizers, static analysis, profilers — not the language, not a library, but everyday work.

9 тем в планеtopics planned
compilers заполненfilled in

Компиляторы C++C++ compilers

Стадии компиляции, GCC vs Clang vs MSVC, оптимизации, линковка и ODR — что происходит с кодом от исходника до бинарника.Compilation stages, GCC vs Clang vs MSVC, optimizations, linking and ODR — what happens to your code from source to binary.

4 темы, все заполненыtopics, all filled in