【发布时间】:2020-03-23 08:46:16
【问题描述】:
如果我创建一个对象而不使用“new”关键字,我应该如何释放它的内存?
例子:
#include "PixelPlane.h"
int main(void)
{
PixelPlane pixel_plane(960, 540, "TITLE");
//How should the memory of this object be freed?
}
【问题讨论】:
-
它在变量
pixel_plane的生命周期结束时自动发生,当范围结束时发生。这会导致对象破坏和内存被释放(以实现定义的方式)。 -
如果对象有适当的析构函数,则不需要。见:stackoverflow.com/questions/4036394/…
-
为什么要投反对票?问题已正确提出。你不应该仅仅因为你知道答案就投票给人们,他们不知道,而且你认为这是基本的。 每个 C++ 的学生都需要学习这个问题的答案,所以它对很多人来说都是有用的信息。
-
@SuperSim135 是的,当进程终止时。
-
方便阅读:Storage class specifiers 所有这些都是信息性的,但是关于存储持续时间的部分是最相关的。
标签: c++ oop memory-management