Smart pointers [Mayers p125]