Hat std::make_unique
irgendwelche Effizienzvorteile wie std::make_shared
?
Im Vergleich zum manuellen Erstellen std::unique_ptr
:
std::make_unique<int>(1); // vs
std::unique_ptr<int>(new int(1));
make_shared
sowohl der Speicherplatz für das Objekt als auch der Speicherplatz für den Steuerblock in einer einzigen Zuordnung zugeordnet werden können. Die Kosten hierfür sind, dass das Objekt nicht getrennt vom Steuerblock freigegeben werden kann. Wenn Sie also weak_ptr
viel verwenden, wird möglicherweise mehr Speicher benötigt.
make_shared
es eine Effizienz, nur den langen Handcode zu schreiben?