Czy std::make_uniquema jakieś korzyści związane z wydajnością std::make_shared?
W porównaniu z tworzeniem ręcznym std::unique_ptr:
std::make_unique<int>(1); // vs
std::unique_ptr<int>(new int(1));
make_sharedmoże przydzielić zarówno miejsce na obiekt, jak i miejsce na blok sterujący razem w jednej alokacji. Kosztem tego jest to, że obiekt nie może zostać zwolniony oddzielnie od bloku sterującego, więc jeśli używasz weak_ptrdużo, możesz skończyć z użyciem większej ilości pamięci.
make_sharedma jakąkolwiek skuteczność w porównaniu z samym pisaniem kodu długiej ręki?