我可以在C中看到错误的指针错误吗?

我想知道是否有可能在C中捕获这样的错误
object* p = new object;

delete p;
delete p; // This would cause an error,can I catch this?

>我可以检查指针是否有效?
>我可以抓住一些例外吗?

我知道我可以在第一个对象删除后将指针p设置为NULL.但只是想象你不会这样做.

解决方法

我不认为你可以抓住这种错误,因为我认为结果是未定义的行为.它可能什么都不做,它可能会崩溃,它可能只是损坏内存,并导致一个问题在后面的一行.

如果您发现它使用当前的编译器执行某些特定操作,那么可以尝试并处理这些编译器,但它可能会在调试和释放中执行不同的操作,并且在升级编译器版本时会再次出现.

建议将指针设置为null,但我认为您最好使用智能指针,而不是删除它们.

相关文章

本程序的编译和运行环境如下(如果有运行方面的问题欢迎在评...
水了一学期的院选修,万万没想到期末考试还有比较硬核的编程...
补充一下,先前文章末尾给出的下载链接的完整代码含有部分C&...
思路如标题所说采用模N取余法,难点是这个除法过程如何实现。...
本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码...
刚开始学习模块化程序设计时,估计大家都被形参和实参搞迷糊...