smart pointers www.internalpointers.com