-1

有没有办法检查垃圾收集器是否已声明变量CC++即检查它是否已被释放。

4

1 回答 1

3

C 中没有垃圾收集。尽管标准在少数地方提到这种实现是可能的。不过,我不知道是否存在任何这样的实现。

在 C/C++ 中,无法知道对象是否已被删除。这是问题和错误的持续来源。然而,我们必须忍受这一点。

这个设计决定的主要原因 - 指针的简单性。它应该只是一个地址,没有别的。否则需要额外的开销。C++ 中的内存被使用和重用。一段时间后,可能会有一个大物体代替两个小物体,覆盖这两个小物体的整个空间。这意味着没有办法在每个物体前面放置一些东西来进行检查。简单和速度——这些是 C/C++ 的重要目标。释放/未释放/不确定指针的问题是良好性能的代价。

于 2012-10-10T03:06:20.270 回答