Smart pointer
tipo di dato astratto
Gli smart pointers (letteralmente "puntatori intelligenti") sono oggetti del C++ che facilitano la vita a chi deve usare i puntatori. Lo scopo principale di uno smart pointer è quello di provvedere una cancellazione automatica della memoria. Non facendo parte delle caratteristiche del C++ gli Smart Pointers vengono forniti attraverso librerie (tra cui quella standard), e pertanto non possono sostituirsi completamente alla gestione della memoria così come avviene per i linguaggi con Garbage Collection. Sono elencati qui di seguito i principali tipi di Smart Pointers ad oggi diffusi e ampiamenti approvati dalla comunità.
Smart Pointers del C++03
- std::auto_ptr (deprecato nel nuovo standard C++11)
Smart pointers della libreria Boost
- boost::shared_ptr
- boost::scoped_ptr
- boost::intrusive_ptr
- boost::weak_ptr
Smart Pointers del C++11
- std::shared_ptr
- std::weak_ptr
- std::unique_ptr