Какая разница между:
std::shared_ptr<int> p = std::shared_ptr<int>( new int );
и
std::shared_ptr<int> p = std::make_shared< int >();
?
Какой из них я должен предпочесть и почему?
Р. S. Довольно уверен, что на это, должно быть, уже был дан ответ, но я не могу найти аналогичный вопрос.