【问题标题】:std::auto_ptr vs. std::tr1::shared_ptr [duplicate]std::auto_ptr 与 std::tr1::shared_ptr [重复]
【发布时间】:2012-06-11 12:46:31
【问题描述】:

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

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

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

    • @Fanael 感谢您发现这一点!
    猜你喜欢
    • 1970-01-01
    • 2010-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-18
    • 2011-10-29
    • 2011-08-01
    • 2014-03-25
    相关资源
    最近更新 更多