A collection of pointers that can determine: If the pointed to memory has been freed If the pointer is pointing to nothing Types C++ Unique Pointer C++ Shared Pointer