std::shared_ptr
`std::shared_ptr` is a smart pointer in C++ that manages the lifetime of an object through reference counting. When multiple `std::shared_ptr` instances point to the same object, they share ownership. The object is automatically deleted when the last `std::shared_ptr` pointing to it is destroyed or reset, preventing memory leaks.
This feature makes `std::shared_ptr` useful in scenarios where ownership of an object needs to be shared among different parts of a program. It simplifies memory management by ensuring that resources are released appropriately, allowing developers to focus on other aspects of their code without worrying about manual memory deallocation.