【发布时间】:2019-07-25 03:58:46
【问题描述】:
如果我损坏了我的堆,我可以在之后清理它吗?如果是,怎么做?
堆损坏示例:
int *x = new int; // If we allocate memory wit new, we have to free it later..
x++;
*x = 1; // the heap is now corrupted
但是,调用free(x)、delete x 等会导致上面的代码崩溃。内存是否仍会以某种方式被释放,或者它是否已经超出了希望?
【问题讨论】:
-
它被摧毁了。走了。重新开始,不要再做这些事情了。
-
一般不会,一旦你的内存被破坏了,就真的没有办法恢复到之前的状态了。
标签: c++ memory-management memory-leaks free delete-operator