💾
C++ — Память и lifetime
Стек, куча, RAII, аллокаторы, GC vs ручное управление
30 вопросов · 30 показано
EasyЧем стек (stack) отличается от кучи (heap)?памятьMediumЧто такое storage duration и какие бывают виды?памятьlifetimeMediumЧто такое RAII и почему это важнейшая идиома C++?RAIIMediumЧем C++ без GC справляется с управлением памятью?RAIIGCHardЧто такое memory order и атомарные операции?concurrencymemory orderHardЧто такое false sharing и как его избежать?performanceconcurrencyHardЧем aligned storage отличается от обычного массива char?памятьHardЧто такое operator new и как его перегружать?памятьаллокаторыHardЧто такое std::pmr и polymorphic memory resources?памятьаллокаторыMediumЧто такое small buffer optimization (SBO)?performanceSTLHardЧто такое copy elision и NRVO/RVO?copyоптимизацияMediumЧем move constructor отличается от copy constructor?moveHardЧто такое perfect forwarding?forwardHardЧто такое value category lvalue/xvalue/prvalue?значенияHardЧем copy-and-swap идиома полезна?copymoveидиомыMediumЧто такое rule of zero / rule of five / rule of three?best practicesООПMediumЧто такое strong/weak/no-throw exception guarantee?исключенияHardЧем std::launder полезен?lifetimeUBHardЧто такое lifetime extension у temporary объектов?lifetimeHardЧто такое static initialization order fiasco?staticUBMediumЧто такое thread-local storage и когда применять?concurrencystorageMediumЧто такое use-after-free и почему это опасно?UBlifetimeMediumЧто такое memory pool и когда его применять?аллокаторыperformanceEasyЧем new[] отличается от new для массива объектов?памятьMediumЧто такое garbage collection и почему его нет в C++?GCMediumЧем stack allocation быстрее heap?performanceMediumЧто такое cache locality и как она влияет на производительность?performanceMediumЧем alignas/alignof полезны?alignmentHardЧто такое trivial destructor и почему он важен?PODEasyЧто такое memory leak detection и какие инструменты есть?памятьинструменты