std::make_unique
Gibi herhangi bir verimlilik faydası var mı std::make_shared
?
El ile oluşturmayla karşılaştırıldığında std::unique_ptr
:
std::make_unique<int>(1); // vs
std::unique_ptr<int>(new int(1));
make_shared
hem nesne için alan hem de kontrol bloğu için alanı tek bir tahsis içinde birlikte tahsis edebilir. Bunun maliyeti, nesnenin kontrol bloğundan ayrı olarak ayrılamamasıdır, bu nedenle weak_ptr
çok fazla kullanırsanız, daha fazla bellek kullanmanız gerekebilir.
make_shared
Sadece uzun el kodunu yazmaktan herhangi bir etkinliği var mı ?