1、基本要求
“不重不漏”:不重——不重复delete,不漏——不漏掉delete
即,new/delete要配对
2、配对的场景
- malloc()分配内存,用free()释放内存
- 用new表达式创建对象,需用delete表达式析构对象并释放内存
- 用new[]表达式创建对象,需用delete[]表达式析构对象并释放内存
- 用::operator new()分配内存,需用::operator delete()去释放
- 用placement new创建对象,需在对象的生命期结束时调用对象的析构函数
- 从某个内存pool分配的内存,需要还给这个内存池