page contents

C++ 标准库智能指针uniqueptr,sharedptr,weak_ptr介绍?

轩辕小不懂 发布于 2021-10-13 14:39
阅读 604
收藏 0
分类:C/C++开发
  • c++
  • 2140
    Nen
    Nen
    - 程序员

    uniqueptr 只允许基础指针的一个所有者。 除非你确信需要 sharedptr,否则请将该指针用作 POCO 的默认选项。 可以移到新所有者,但不会复制或共享。 替换已弃用的auto_ptr。 

    sharedptr 采用引用计数的智能指针。 如果你想要将一个原始指针分配给多个所有者(例如,从容器返回了指针副本又想保留原始指针时),请使用该指针。 直至所有sharedptr 所有者超出了范围或放弃所有权,才会删除原始指针。

    weakptr 结合 sharedptr 使用的特例智能指针。 weakptr 提供对一个或多个 sharedptr 实例拥有的对象的访问,但不参与引用计数。 如果你想要观察某个对象但不需要其保持活动状态,请使用该实例。

    请先 登录 后评论