Which function call signature should be used to pass a std::unique_ptr, std::shared_ptr, and std::weak_ptr to a function that will not modify or replace the raw pointer?
1) const std::unique_ptr&, const std::shared_ptr&, and const std::weak_ptr&
2) std::unique_ptr&, std::shared_ptr&, and std::weak_ptr&
3) std::unique_ptr, std::shared_ptr, and std::weak_ptr
4) const std::unique_ptr*, const std::shared_ptr*, and const std::weak_ptr*

Q&A Education