我有一个组件在c ++中实现稀疏矩阵,但是当我检查它的实现时,一些内存分配没有正确释放。我可以访问源代码,但它有点复杂,我不想改变它。对我来说很奇怪,一些简单的函数,如printf和fopen都有内存泄漏,因为删除程序显示!
我有一个问题:
由于
答案 0 :(得分:0)
这取决于代码。为了释放一块内存,您需要分配它的函数返回的指针。可能是您无法从外部访问此指针。例如,假设您的类具有如下函数:
void func() {
int * ptr = new int[1024];
}
一旦此函数返回,就无法释放该内存,因为new
返回的指针会丢失。
无法帮助你。