当前位置 : 主页 > 编程语言 > c++ >

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

来源:互联网 收集:自由互联 发布时间:2021-06-23
我有一个已回答的 previous question,其中我描述了当我尝试访问已被第三方函数释放的对象时捕获异常的困难.该函数有时会执行并且有时不会释放该对象. 为了避免必须使用try / catch块来捕
我有一个已回答的 previous question,其中我描述了当我尝试访问已被第三方函数释放的对象时捕获异常的困难.该函数有时会执行并且有时不会释放该对象.

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

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

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