【发布时间】:2015-06-16 08:02:41
【问题描述】:
我需要重载 new[]/delete[] 来维护内存资源。 但我发现 new[] 将为带有析构函数的类分配 4 个字节(int)。 所以问题是: 如何知道 new[] 是否为 classes 数组分配 4 个字节以正确释放内存?
【问题讨论】:
-
只需在您分配的类型上调用 sizeof(...) 即可。
-
请注意这个词是
destructor不是解构函数 -
你应该解释为什么你需要准确地重载 new/delte。
-
我怀疑您看到了由 virtual 析构函数引起的 vtable 指针的效果。或者,您可能会看到
delete[]需要的对象数。
标签: c++