std::make_shared — это функция, определенная в заголовочном файле <memory>, которая используется для создания объектов в динамической памяти с использованием умных указателей std::shared_ptr.Преимущество
std::make_shared заключается в том, что она создает объект и управляющий блок (control block), содержащий метаинформацию и счетчик ссылок, в одном куске памяти. Это может улучшить производительность и уменьшить использование памяти по сравнению с созданием объекта и управляющего блока отдельно с использованием std::shared_ptr.#для_начинающих
