Custom comparison functions with `std::unique_ptr` and `std::shared_ptr`
Overhead of `std::unique_ptr` and `std::shared_ptr`
Thread safety concerns with `std::unique_ptr` and `std::shared_ptr`
Using `std::shared_ptr` for caching purposes
Using `std::unique_ptr` and `std::shared_ptr` with incomplete types