Smart pointer: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
m Note: Aggiunto un a capo per separare il tag "references/" dal template "Portale"
 
(19 versioni intermedie di 17 utenti non mostrate)
Riga 1:
Un '''puntatore intelligente''' o '''''smart pointer''''' è un [[tipo di dato astratto]] che simula il comportamento di un [[Puntatore (programmazione)|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 critiche riguardanti la mancanza di un sistema di ''[[garbage collection]]''.<ref>{{Cita web|url=http://www.open-std.org/jtc1/sc22/wg21/docs/papers/1994/N0555.pdf|titolo=Exception Safe Smart Pointers|autore=Gregory Colvin|data=1994}}</ref> Dall'edizione [[C++11]], i puntatori intelligenti sono <code>std::unique_pointer</code>, <code>std::shared_pointer</code> e <code>std::weak_pointer</code>.
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.
 
== Note ==
====Smart Pointers del C++03====
<references />
* std::auto_ptr (deprecato nel nuovo standard C++11)
{{Portale|informatica}}
 
[[Categoria:C++]]
====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
 
== Collegamenti esterni ==
* [http://gameprog.it/articles/93/c-11-smart-pointers: C++11: Smart pointers (shared_ptr e weak_ptr]
* [http://gameprog.it/articles/68/c-11-ne-rester-solo-uno C++11: Ne resterà solo uno (uinque_ptr)]