Sobes.tech
Junior — Middle

Πώς διαχειρίζεται το std::unique_ptr την αυτόματη απελευθέρωση της δεσμευμένης μνήμης;

sobes.tech AI

Απάντηση από AI

std::unique_ptr — είναι ένας έξυπνος δείκτης στη C++ που κατέχει το αντικείμενο και απελευθερώνει αυτόματα τη μνήμη κατά την έξοδο από το πεδίο ορατότητας. Υλοποιεί τη σημασιολογία της αποκλειστικής ιδιοκτησίας: όταν το unique_ptr καταστρέφεται, καλείται ο καταστροφέας του διαχειριζόμενου αντικειμένου και απελευθερώνεται η μνήμη. Αυτό αποτρέπει διαρροές μνήμης χωρίς να χρειάζεται να καλέσετε χειροκίνητα delete.

Παράδειγμα χρήσης:

#include <memory>

void παράδειγμα() {
    std::unique_ptr<int> ptr = std::make_unique<int>(42);
    // το ptr θα απελευθερώσει αυτόματα τη μνήμη κατά την έξοδο από τη λειτουργία
}