【发布时间】:2011-12-20 21:12:04
【问题描述】:
我有一个包含 3 个节点指针和 2 个整数的节点类。我用new 分配所有节点,但是当我在它们上调用delete 时,整数被设置为-17891602,它搞砸了我代码的其余边界检查。什么会导致delete 这样做?
【问题讨论】:
-
你能分享你的代码吗?
-
没有看到一些代码很难知道。也许您的析构函数中有错误?
-
为什么在调用
delete之后还要检查内存内容?你不应该那样做。delete不保证在内存位置写入任何特定内容。许多 delete 实现会故意写入特定垃圾以帮助检测错误,例如在调用delete后访问内存。
标签: c++ class delete-operator garbage