在delphi里用FreeMem(pointer),或Dispose(pointer)释放内存后
无法判断指针pointer是否被释放,需要手动设置pointer=nil.怎么能不
设置pointer=nil还进行判断.
简单点说:怎么样用
if pointer = <已经被释放,或从来未申请内存> then
FreeMem(pointer);
句式解决这个问题.
...全文
65426打赏收藏
如何判断一个指针指向的内存是否释放
在delphi里用FreeMem(pointer),或Dispose(pointer)释放内存后 无法判断指针pointer是否被释放,需要手动设置pointer=nil.怎么能不 设置pointer=nil还进行判断. 简单点说:怎么样用 if pointer = then FreeMem(pointer); 句式解决这个问题.
Assigned returns false if P is nil, true otherwise.
Note: Assigned can't detect a dangling pointer--that is, one that isn't nil but no longer points to valid data. For example, in the code example for Assigned, Assigned won't detect the fact that P isn't valid.