首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >shared_ptr和weak_ptr的区别

shared_ptr和weak_ptr的区别
EN

Stack Overflow用户
提问于 2011-02-13 21:26:29
回答 4查看 58.5K关注 0票数 81

我正在读斯科特·迈尔斯的"Effective C++“一书。有人提到,tr1::shared_ptrtr1::weak_ptr的作用类似于内置指针,但它们记录了有多少tr1::shared_ptrs指向一个对象。

这就是所谓的引用计数。这可以很好地防止非循环数据结构中的资源泄漏,但如果两个或更多对象包含tr1::shared_ptrs,从而形成一个循环,则该循环可能会使彼此的引用计数保持在零以上,即使指向该循环的所有外部指针都已被销毁。

这就是tr1::weak_ptrs的用武之地。

我的问题是循环数据结构是如何使引用计数超过零的。我亲切地请求一个示例C++程序。weak_ptrs是如何解决问题的?(同样,请举例说明)。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4984381

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档