💾

C++ — Память и lifetime

Стек, куча, RAII, аллокаторы, GC vs ручное управление

30 вопросов · 30 показано

EasyЧем стек (stack) отличается от кучи (heap)?MediumЧто такое storage duration и какие бывают виды?MediumЧто такое RAII и почему это важнейшая идиома C++?MediumЧем C++ без GC справляется с управлением памятью?HardЧто такое memory order и атомарные операции?HardЧто такое false sharing и как его избежать?HardЧем aligned storage отличается от обычного массива char?HardЧто такое operator new и как его перегружать?HardЧто такое std::pmr и polymorphic memory resources?MediumЧто такое small buffer optimization (SBO)?HardЧто такое copy elision и NRVO/RVO?MediumЧем move constructor отличается от copy constructor?HardЧто такое perfect forwarding?HardЧто такое value category lvalue/xvalue/prvalue?HardЧем copy-and-swap идиома полезна?MediumЧто такое rule of zero / rule of five / rule of three?MediumЧто такое strong/weak/no-throw exception guarantee?HardЧем std::launder полезен?HardЧто такое lifetime extension у temporary объектов?HardЧто такое static initialization order fiasco?MediumЧто такое thread-local storage и когда применять?MediumЧто такое use-after-free и почему это опасно?MediumЧто такое memory pool и когда его применять?EasyЧем new[] отличается от new для массива объектов?MediumЧто такое garbage collection и почему его нет в C++?MediumЧем stack allocation быстрее heap?MediumЧто такое cache locality и как она влияет на производительность?MediumЧем alignas/alignof полезны?HardЧто такое trivial destructor и почему он важен?EasyЧто такое memory leak detection и какие инструменты есть?