避免内存泄露的几种方式
- 记数法:使用new或者malloc时,让该数+1,delete或free时,该数-1,程序执行完打印这个计数,如果不为0则表示存在内存泄露
- 一定要将基类的析构函数声明为虚函数
- 在实现多态时,当用基类操作派生类,在析构时防止只析构基类而不析构派生类的状况发生。
- 对象数组的释放一定要用delete []
- 有new就有delete,有malloc就有free,保证它们一定成对出现
检测工具
- Linux下可以使用Valgrind工具
- Windows下可以使用CRT库
避免内存泄露的几种方式
检测工具