C++ 11智能指针总是代替new/delete?

Tom*_*Tom 5 c++ performance smart-pointers new-operator c++11

在C++ 11中我们应该总是使用unique_ptrshared_ptr代替new/ delete?性能如何,智能指针要慢得多?

Cub*_*bic 7

unique_ptr与使用原始指针相比,它不会(不应该)具有任何运行时开销.shared_ptr确实有一些内存和时间开销(多少取决于实现).如果你真的需要一些行为类似的东西(也就是说,没有其他任何你想到的实现更快或更高的内存效率),这里的实际开销很容易为零shared_ptr.

这并不是说你永远不会在你的代码中使用new/delete,但这不是你一直都会做的事情.