A smart pointer that tracks how many shared pointers point to a memory location and releases the memory when the count reaches zero.
A smart pointer that tracks how many shared pointers point to a memory location and releases the memory when the count reaches zero.