Smart pointer
tipo di dato astratto
Un puntatore intelligente o smart pointer è un tipo di dato astratto che simula il comportamento di un puntatore e in più fornisce controlli aggiuntivi per la gestione della memoria automatica e il controllo dei limiti. Ciò ha lo scopo di ridurre gli errori dovuti a un uso errato dei puntatori, ma al tempo stesso mantenere la loro efficienza. I puntatori intelligenti sono diventati popolari con la loro introduzione in C++ in risposta alle critche riguardanti la mancanza di una sistema di garbage collection.[1] Dall'edizione C++11, i puntatori intelligenti sono std::unique_pointer
, std::shared_pointer
e std::weak_pointer
.
Note
- ^ Gregory Colvin, Exception Safe Smart Pointers (PDF), su open-std.org, 1994.