如何释放组件释放的所有内存

时间:2012-08-21 06:36:12

标签: visual-c++ memory-management memory-leaks sparse-matrix

我有一个组件在c ++中实现稀疏矩阵,但是当我检查它的实现时,一些内存分配没有正确释放。我可以访问源代码,但它有点复杂,我不想改变它。对我来说很奇怪,一些简单的函数,如printf和fopen都有内存泄漏,因为删除程序显示!

我有一个问题:

  1. 有什么办法可以释放外部分配的所有内存空间吗?
  2. 由于

1 个答案:

答案 0 :(得分:0)

  1. 这取决于代码。为了释放一块内存,您需要分配它的函数返回的指针。可能是您无法从外部访问此指针。例如,假设您的类具有如下函数:

    void func() {
        int * ptr = new int[1024];
    }
    

    一旦此函数返回,就无法释放该内存,因为new返回的指针会丢失。

  2. 无法帮助你。