std :: auto_ptr vs. std :: tr1 :: shared_ptr

时间:2012-06-07 12:55:36

标签: c++ shared-ptr std auto-ptr

  

可能重复:
  Which kind of pointer do I use when?

我读到std::auto_ptr已过时,因此您必须使用std::tr1::shared_ptr。正如我读到的差异是std::tr1::shared_ptr有引用计数,而std::auto_ptr没有,因此复制或分配使资源更改其所有者,源将所有权提供给目标。这是唯一的区别吗?

1 个答案:

答案 0 :(得分:2)

auto_ptr的单个所有权语义最接近的智能指针是std::unique_ptr。如果可用,这应该优先于std::shared_ptr使用。见here