美好的一天,
我希望删除指向本地函数中创建的对象的指针。我不太确定如何用这个问题来表达,因为这是我第一次问这个问题。
功能:
Level::loadFile() {
//some code
MazeExit *new_exit;
new_exit = new MazeExit;
//some more code
}
析构函数:
Level::~Level()
{
delete new_exit;
new_exit = NULL;
}
现在的问题是对象new_exit
现在已超出范围,但我担心它所分配的动态内存可能会被泄露。
答案 0 :(得分:0)
变量在方法loadfile中分配,并且仅限于该方法。因为你新建了它,当方法返回时你确实泄漏了内存。如果没有理由在加载文件后存在mazeexit,那么不要新建它,只需声明它。如果真的需要闲逛,请将其声明为成员变量,这样您就可以在析构函数中将其删除