At std::make_unique
- il des avantages d'efficacité comme std::make_shared
?
Par rapport à la construction manuelle std::unique_ptr
:
std::make_unique<int>(1); // vs
std::unique_ptr<int>(new int(1));
make_shared
peut allouer à la fois l'espace pour l'objet et l'espace pour le bloc de contrôle en une seule allocation. Le coût est que l'objet ne peut pas être désalloué séparément du bloc de contrôle, donc si vous en utilisez weak_ptr
beaucoup, vous pouvez finir par utiliser plus de mémoire.
make_shared
a- t -il une efficacité sur la simple écriture du code à main longue?