Разница в make_shared и обычном shared_ptr в C ++

std::shared_ptr<Object> p1 = std::make_shared<Object>("foo");
std::shared_ptr<Object> p2(new Object("foo"));

Есть много постов в Google и StackOverflow, но я не могу понять, почемуmake_shared более эффективно, чем прямое использованиеshared_ptr.

Может кто-нибудь объяснить мне пошаговую последовательность созданных объектов и операций, выполняемых обоими, чтобы я мог понять, какmake_shared является эффективным. Я дал один пример выше для справки.

Ответы на вопрос(7)

Ваш ответ на вопрос