Memorie și resurse
Stăpânește modelul de proprietate al C++ - de la indicatori bruti la pointeri inteligente și semantică de mișcare - pentru a scrie cod care nu se scurge niciodată.
Indicatori și referințe
Indicatori: adrese, dereferențiere și aritmetică
Înțelegeți pointerii ca adrese de memorie, învățați operatorii de adresă și dereferință, aritmetica pointerului în cadrul matricelor, corectitudinea constantă cu pointerii și când pointerii brute sunt încă adecvate în C++ modern.
References: Lvalue, Rvalue & Pitfalls
Explorați referințele lvalue și rvalue, înțelegeți categoriile de valori C++, aflați regulile de restrângere a referințelor și referințele de redirecționare și evitați erorile de referință suspendate.
Dynamic Memory: new, delete & Their Dangers
Learn how dynamic allocation works with new and delete, understand the dangers of memory leaks, double-free, and use-after-free, and discover why modern C++ should contain zero raw new/delete.
Indicatori inteligente
std::unique_ptr: Exclusive Ownership
Learn how std::unique_ptr provides zero-overhead exclusive ownership, how to use make_unique, custom deleters for C resources, and factory function patterns.
shared_ptr, weak_ptr și grafice de proprietate
Înțelegeți proprietățile partajate cu referințe numărate cu shared_ptr, întrerupeți ciclurile cu weak_ptr, aflați despre blocurile de control și aliasing și aflați când shared_ptr este alegerea greșită.
Mutare Semantică și RAII
Mutare Semantică și std::move
Înțelegeți problema pe care o rezolvă semantica mișcării, cum std::move este o distribuție (nu o mișcare), implementați constructori de mutare și alocarea de mutare și aflați de ce noexcept este critic pentru performanța containerului.
Redirecționare perfectă și std::forward
Înțelegeți de ce referințele rvalue numite sunt lvalues, aflați modelul canonic de redirecționare cu std::forward și vedeți cum emplace_back folosește redirecționarea variadică pentru a construi obiecte în loc.
RAII: Modelul de resurse fundamentale
Aflați RAII (Resource Acquisition Is Initialization) — modelul de bază C++ pentru gestionarea resurselor în condiții de siguranță pentru excepții. Implementați pachetele RAII, înțelegeți lock_guard și scoped_lock și aflați de ce tipurile RAII trebuie să fie doar pentru mișcare sau ref-contorizate.