垃圾回收

线程安全的对象生命期管理
单例
对象二段式构造
销毁很难
对象池(工厂模式)
shared_ptr/weak_ptr

 

“大部分用c写的上规模的软件都存在一些内存方面的错误,需要花费大量的精力和时间把产品稳定下来”。

c++里可能出现的内存问题大致有这么几个方面:

1、缓冲区溢出

2、空悬指针/野指针

3、重复释放

4、内存泄漏

5、不配对的new[]/delete

6、内存碎片

 

正确地使用智能指针能很轻易地解决前面5个问题,解决第6个问题需要另的思路。

 

observer模式

 

垃圾回收的方式虽然很多,但主要可以分为两大类:

引用计数

跟踪处理

 

 

《深入理解c++11新特性》5.2.3 垃圾回收的分类

C++11 shared_ptr 与 weak_ptr 区别

原文地址:https://www.cnblogs.com/losophy/p/9620575.html