Здравствуйте, so5team, Вы писали:
TB>>мусор типа оператора new, кстати нахрена он нужен после 11 года?
S>... то разве что для создания объектов с private/protected конструкторами.
Да и тут во многих случаях (если я правильно понимаю, речь про make_shared/make_unique) необязательно. Но я тоже, бывает, делаю через new в таких случаях.
ну или если конкретный тип умного (или неумного) указателя может быть разным в шаблоне. Вроде такого(иллюстративно):
template<typename PTR>
PTR Dup(const PTR& srcPtr)
{
// can't use `make_unique`/`make_shared`
return PTR{new std::remove_cvref_t<decltype(*srcPtr)>{*srcPtr}};
}
Ну и наверняка что-то ещё реальное есть.