本地和动态分配

时间:2010-03-10 11:49:24

标签: dynamic-memory-allocation

我有一棵树,我想释放分配的内存,但是我遇到一个问题,指针可能引用一个未动态分配的变量,所以如何知道这个指针是否指动态变量

1 个答案:

答案 0 :(得分:0)

这是特定于编译器的。您可以将给定指针与指向局部变量的指针进行比较。结果解释取决于编译器实现堆和堆栈的方式。通常,对于给定的编译器,堆栈指针总是小于(或大于)堆指针。 无论如何,这是糟糕的设计。 如果指针属于另一个堆(例如,在另一个Dll中分配),这可能不起作用。