一文详解C++智能指针:共享指针的高效资源管理-51CTO学堂-智能指针共享指针

一文详解C++智能指针:共享指针的高效资源管理

432未经授权,禁止转载
后端开发C++C语言C/C++H3CC#C100L2TPM2MTS2Yii2智能指针共享指针资源管理线程安全强制类型转换atomic操作原子接口自定义删除器异常安全
本文讨论了C++中共享指针的工作原理和实践应用。共享指针是智能指针的一种,提供了自动管理底层指向对象的内存资源的功能。视频中先讲解了共享指针的共享所有权和资源释放特性:多个共享指针可以指向同一对象,最后一个指针被销毁时对象会被释放,避免内存泄露。随后,介绍了创建共享指针的几种方式,推荐使用`std::make_shared`因为它更快更安全。视频还提供了共享指针的例子代码和使用场景,如通过箭头和解引用运算符来获取对象的成员,和标准容器配合使用共享指针等。此外,介绍了共享指针在多线程中的使用,特别是原子操作接口的应用。还讲述了自定义删除器的概念,这允许在智能指针销毁时执行特定资源(如文件或数组)的清理工作。文末简略解释了异常安全和共享指针的完整接口列表,并提到了关于unique pointer和weak pointer将在未来的课程中讲解。
讨论{{interaction.discussNum ? '(' + interaction.discussNum + ')' : ''}}
ad
发布
头像

{{ item.user.nick_name }} {{ EROLE_NAME[item.user.identity] }}

置顶笔记
讨论图
{{ item.create_time }}回复
  • 删除

    是否确认删除?

    确认
    取消
  • {{ item.is_top == 1 ? '取消置顶' : '置顶'}}

    已有置顶的讨论,是否替换已有的置顶?

    确认
    取消
{{ tag.text}}
头像
{{ subitem.user.nick_name }}{{ EROLE_NAME[subitem.user.identity] }}
{{ subitem.create_time }}回复
删除

是否确认删除?

确认
取消
发布
{{pageType === 'video' ? '讨论区抢占沙发,可获得双倍学分' :'讨论区空空如也,你来讲两句~'}}
发布
{{tips.text}}
{{ noteHeaderTitle }} 笔记{{ hasMyNote ? '我的笔记' : '记笔记' }}
{{ hasMyNote ? '我的笔记' : '记笔记' }}
优质笔记
更新于:{{ $dayjs.formate('YYYY-MM-DD HH:mm:ss', item.last_uptime*1000) }}
头像
{{ detail.username }}

公开笔记对他人可见,有机会被管理员评为“优质笔记”

{{ noteEditor.content.length }}/2000

公开笔记
保存
讲师头像
编程小强
在上市公司工作多年,参与多个大型项目的设计与开发,解决项目中遇到的各种疑难杂症。
TA的课程
接下来播放:
自动连播