I can\'t think of any situation where
std::shared_ptr obj(new Object(\"foo\", 1));
would be preferred to
auto obj
Modern IDEs have "Find usages" feature. If you use std::make_shared to construct the object, when you search for the places where the constructor of that object is called, IDE won't show up the places where std::make_shared is used.
std::make_shared