std::make_shared通常是推荐使用的方式,因为它可以提高性能,并在一些情况下减少内存使用。 总的来说,使用std::make_unique和std::make_shared能够简化动态分配内存和构造对象的过程,提高代码的安全性和可读性。
std::unique_ptr 是一种独占的语义,即只允许一个智能指针引用裸指针,这区别于 std::shared_ptr 允许多个 shared_ptr 引用同一个裸指针,它没有引用计数,它的性能比 shared_ptr 会高一点。 在用法上 std::unique_ptr 和 ...