如何确定是否已取消分配C对象?

我有一个已回答的 previous question,其中我描述了当我尝试访问已被第三方函数释放的对象时捕获异常的困难.该函数有时会执行并且有时不会释放该对象.

为了避免必须使用try / catch块来捕获前一个问题中描述的SEH异常,我需要能够判断对象是否已被释放.

如何确定C对象是否已被释放或仍然是有效指针?

解决方法

如果仍然分配了对象,则无法通过查看内存位置来轻松判断.可能会有一些黑魔法技巧,但更清洁的方法是在对象的析构函数中构建一个回调机制.

相关文章

首先GDB是类unix系统下一个优秀的调试工具, 当然作为debug代...
1. C语言定义1个数组的时候, 必须同时指定它的长度.例如:int...
C++的auto关键字在C+⬑新标准出来之前基本...
const关键字是用于定义一个不该被改变的对象,它的作用是告诉...
文章浏览阅读315次。之前用C语言编过链表,这几天突然想用C+...
文章浏览阅读219次。碰到问题就要记录下来,防止遗忘吧。文章...