template <class T> class auto_ptr { T* ptr; public: explicit auto_ptr(T* p = 0) : ptr(p) {} ~auto_ptr() {delete ptr;} T& operator*() {return *ptr;} T* operator->() {return ptr;} // ... };
#include <memory> std::auto_ptr<int> v;
http://ootips.org/yonat/4dev/smart-pointers.html
Also in STL : std:auto_ptr
http://www.cerfacs.fr/Info/doc/Compilateurs/sunone7/mr/man3c++/auto_ptr.3.html
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclang98/html/MEMORY_AUTO_PTR.asp