社区
夏曹俊的课程社区_NO_3
C++实战精讲--商用软件中的C++工程开发技术实践
帖子详情
C++11中的内存泄漏:sharePtr与WeakPtr
夏曹俊
2023-01-12 22:34:31
课时名称
课时知识点
C++11中的内存泄漏:sharePtr与WeakPtr
C++11中的内存泄漏:sharePtr与WeakPtr
...全文
63
回复
打赏
收藏
C++11中的内存泄漏:sharePtr与WeakPtr
课时名称课时知识点C++11中的内存泄漏:sharePtr与WeakPtrC++11中的内存泄漏:sharePtr与WeakPtr
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Boost智能指针
一个pdf文档,详细的介绍Boost库
中
的智能指针
C++ std::
share
d_
ptr
与 std::weak_
ptr
详解
• 引用计数:std::
share
d_
ptr
内部维护一个引用计数器,记录有多少个 std::
share
d_
ptr
实例共享同一个对象。std::weak_
ptr
是一种不增加引用计数的智能指针,它可以安全地引用一个由 std::
share
d_
ptr
管理的对象。std::weak_
ptr
不能直接访问对象,需要通过 lock() 方法将其转换为 std::
share
d_
ptr
。在这个修改后的代码
中
,B 持有 A 的 std::weak_
ptr
,这样就不会增加 A 的引用计数,从而避免了循环引用。
C++编程:使用 std::weak_
ptr
解决 std::
share
d_
ptr
循环引用导致的
内存泄漏
智能指针循环引用很容易导致 C++
中
的
内存泄漏
。通过使用来管理双向链表或其他类似结构
中
的节点连接,可以确保正确的内存管理,并避免这类问题。在实际应用
中
,始终要注意指针的所有权语义,确保在访问节点之前检查的有效性是非常重要的,以避免潜在的错误和异常。
c++11
条款20:使用std::weak_
ptr
作为一个类似std::
share
_
ptr
但却能悬浮的指针
条款20:使用std::weak_
ptr
作为一个类似std::
share
_
ptr
但却能悬浮的指针 有一个矛盾,一个灵巧指针可以像std::
share
d_
ptr
(见条款 19)一样方便,但又不参与管理被指对象的所有权。换句话说,需要一个像std::
share
d_
ptr
但又不影响对象引用计数的指针。这类指针会有一个std::
share
d_
ptr
没有的问题:被指的对象有可能已经被销毁。一个良好的灵巧
C++内存管理:
share
d_
ptr
/weak_
ptr
源码(长文预警)
本文主要讲述c++提供的
share
d_
ptr
weak_
ptr
和,以及详解MSVC
中
STL提供的智能指针源码。
夏曹俊的课程社区_NO_3
1
社区成员
730
社区内容
发帖
与我相关
我的任务
夏曹俊的课程社区_NO_3
捷帝科技创始人,华为认证HDE全球开发专家,华为HarmonyOS开发者创新大赛导师,南京大学全日制双硕士,近二十年c++跨平台研发经验,领导开发过大量的c++虚拟仿真,计算机视觉,嵌入式图像处理,云安全审计项目,虚拟化安全迁移,中国排联比赛鹰眼系统和高速云摄像机,精确室内定位软硬件。。
复制链接
扫一扫
分享
社区描述
捷帝科技创始人,华为认证HDE全球开发专家,华为HarmonyOS开发者创新大赛导师,南京大学全日制双硕士,近二十年c++跨平台研发经验,领导开发过大量的c++虚拟仿真,计算机视觉,嵌入式图像处理,云安全审计项目,虚拟化安全迁移,中国排联比赛鹰眼系统和高速云摄像机,精确室内定位软硬件。。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章