Có std::make_uniquebất kỳ lợi ích hiệu quả như thế std::make_sharednào?
So với xây dựng thủ công std::unique_ptr:
std::make_unique<int>(1); // vs
std::unique_ptr<int>(new int(1));
make_sharedcó thể phân bổ cả không gian cho đối tượng và không gian cho khối điều khiển cùng nhau trong một phân bổ duy nhất. Cái giá phải trả là đối tượng không thể được tách riêng ra khỏi khối điều khiển, vì vậy nếu bạn sử dụng weak_ptrnhiều thì cuối cùng bạn có thể sử dụng nhiều bộ nhớ hơn.
make_sharedbất kỳ hiệu quả hơn so với chỉ viết mã tay dài?