智能指针:C++资源管理的便捷工具-51CTO学堂-智能指针c++实现

智能指针:C++资源管理的便捷工具

718未经授权,禁止转载
后端开发C语言C++H3CC/C++C#C100L2TPM2MTS2Yii2智能指针c++98c++11自动指针唯一指针共享指针弱指针资源管理线程安全移动语义
本节课讲解了智能指针的概念、种类及其作用。智能指针主要解决资源的自动释放问题,分为几类,包括自动指针、唯一指针、共享指针和弱指针。自动指针由C++98标准引入,但由于设计缺陷,如缺乏移动语义和删除器,无法管理数组等,且容易被误用,因此在C++11标凈中由唯一指针取代。唯一指针和共享指针是C++11中的主要智能指针,前者提供独占所有权,后者基于计数器实现共享所有权,但引入了额外性能开销。在实践中,通常根据是否需要共享所有权来选用,如果不需要共享,则优先使用唯一指针以减少性能负担。智能指针并不完美,无法在多智能指针初始化相同对象时发现彼此存在,且通常不是线程安全的。最后,推荐了一个资源网站C++点com,用于查阅C++标准库参考手册。通过该网站,可以获取广泛的C++相关信息和学习资源,包括智能指针等。
讨论{{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的课程
接下来播放:
自动连播