Sobes.tech
Junior — Middle

Kaip std::unique_ptr valdo automatinį paskirtos atminties atlaisvinimą?

sobes.tech AI

Atsakymas iš AI

std::unique_ptr — tai išmanusis rodyklis C++, kuris valdo objektą ir automatiškai atlaisvina atmintį išeidamas iš apimties. Jis įgyvendina vienintelio nuosavybės semantiką: kai unique_ptr sunaikinamas, iškviečiamas valdomo objekto destruktorius ir atlaisvinama atmintis. Tai užkerta kelią atminties nutekėjimams be būtinybės rankiniu būdu kviesti delete.

Naudojimo pavyzdys:

#include <memory>

void pavyzdys() {
    std::unique_ptr<int> ptr = std::make_unique<int>(42);
    // ptr automatiškai atlaisvins atmintį išeidamas iš funkcijos
}