Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

That is correct and I can see that being a justification for passing a const&, in fact the C++ Core Guidelines agree with you that such a scenario is the only acceptable reason for passing a shared_ptr by const&, although they encourage passing by value, or just passing a const T&.


Obviously the correct way is to accept a templated type and use perfect forwarding. /s /s /s /s /s


Bonus points for using static_cast<T &&>(p) instead of std::forward<T>(p) ;)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: