C++ 智能指针 | auto_ptr + unique_ptr + shared_ptr + weak_ptr | 半自动内存管理工具

本课程通过 unique 等智能指针对比,讲解 C++ 智能指针所有权模型,解决动态资源与循环引用泄漏,帮助学习者安全管理内存。

免费 Linux C/C++ 程序员 · 老孟 程序员 · 老孟 5 篇文章 2 小时 22 分 8301 次播放 已完成
C++ 智能指针 | auto_ptr + unique_ptr + shared_ptr + weak_ptr | 半自动内存管理工具

你将学会

  • 理解 C++ 四种智能指针的所有权模型差异
  • 明确循环引用泄漏成因与弱引用破解方法
  • 能独立用智能指针安全管理动态资源
  • 理解 make 工厂函数在异常安全上的优势
课程内容 5 篇
附录文章 0 篇
互动留言

1/5 C++ 智能指针 auto ptr

回顾 C++ 早期版本中一个用于自动管理堆对象生命周期的智能指针,说明它带来的便利,同时也坦白指出其在所有权转移上存在的严重缺陷,以及它为何在新标准中被废弃和移除。文章演示了它的创建、取地址和释放所有权等常用操作。读完可理解现代智能指针设计要解决的问题,避免在新项目中误用这类过时写法。

2/5 C++ 智能指针 unique ptr

在这篇文章中,我们重点学习 C++ 中用于动态内存管理的技术 – 智能指针,C++11 中智能指针包含:unique_ptr、shared_ptr、weak_ptr。这篇文章我们学习 unique_ptr 的用法。 接下来,我们从以下几个方面来学习 unique_ptr : 1. unique_ptr 的基本用法 2. make_unique 的用法 3. unique_ptr 特点和使用注意 4. unique_ptr 自定义删除器

3/5 C++ 智能指针 shared ptr

智能指针是我们 C++ 中用于管理动态对象(堆区对象)的技术,在实际生产环境中,也有非常重要的应用。 本片文章我们学习 C++11 中的 shared_ptr 智能指针,主要从以下几个方面来学习: 1. shared_ptr 创建和使用 2. shared_ptr 引用技术原理 3. make_shared 快捷函数 4. shared_ptr 自定义删除器

4/5 C++ 智能指针 weak ptr 

C++11 中存在 3 个智能指针,分别是 unique_ptr、shared_ptr、weak_ptr,其他文章中已经讲解前 2 个智能指针的用法,本篇文章从以下3 个方面来讲解 weak_ptr 的使用: 1. weak_ptr 创建和使用 2. shared_ptr 引用计数的缺陷 3. weak_ptr 使用示例

5/5 C++ 智能指针 工厂函数

介绍现代 C++ 中用来便捷创建两种常见智能指针对象的辅助函数,说明它们如何简化动态对象的创建过程并提升异常安全性,避免直接 new 带来的资源泄漏风险。文章分别讲解两种工厂函数的适用对象类型和使用方式,配合构造与析构的观察展示资源如何在离开作用域时自动释放。读完能写出更安全简洁的动态内存代码,明白何时该用哪个辅助函数。

📚

该章节暂无关联学习文章