C++函数内部 new 操作并返回对象给外部导致的内存泄漏

ZMonster at 
C++函数内部new操作并返回对象给外部导致的内存泄漏的配图
当时为了更快地看到结果,只拿了一个小的音频文件来进行处理,大概就几百个 KB 吧,然后内存泄漏的量就达到了 3,481,396 个字节!花了一两天的时间,借助 valgrind 以及代码阅读工具(sublime text + ctags),我发现了内存泄漏的源头。一方面,有项目本身的代码编写不规范导致的泄漏;另一方面,也有项目使用的开源库自身的问题。项目本身存在的问题有:new/delete 操作不成对拷贝构造函数/赋值运算符重载 在进行拷贝时只进行了浅拷贝 class A{public: A &create() {A *p = new A; return *p;} virtual……