使用智能指针的默认行为来避免内存泄漏

2016年的 cppcon 上,Herb Sutter 的演讲中提出了一些关于常用的数据结构如何使用智能指针自动的构造和析构来避免内存泄漏的情况发生。

可以在这里找到这个演讲的链接:https://youtu.be/JfmTagWcqoE。

智能指针

unique_ptr

唯一所有权

离开作用域时,会同时析构指向的对象

shared_ptr

共享所有权

最后一个指向对象的 shared_ptr 被销毁时,析构指向的对象

weak_ptr

不表示所有权

使用之前需要先创建一个 shared_ptr(通过 wp.lock(),这个操作会延长指向对象的生命周期......