关于c ++:std :: auto_ptr与std :: tr1 :: shared_ptr

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

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
Which kind of pointer do I use when?

我听说std::auto_ptr已经过时了,所以你必须使用std::tr1::shared_ptr。因为我读到的差异是std::tr1::shared_ptr有引用计数,而std::auto_ptr没有,所以复制或分配会使资源改变其所有者,而源将所有权赋予目标。这是唯一的区别吗?


auto_ptr的单一所有权语义最匹配的智能指针是std::unique_ptr。如果可以的话,应该优先使用它。看这里。