Function 对本地动态对象调用析构函数

Function 对本地动态对象调用析构函数,function,object,dynamic,scope,destructor,Function,Object,Dynamic,Scope,Destructor,你好 我想删除指向在本地函数中创建的对象的指针。我不太清楚该如何表达这个问题,因为这是我第一次问 功能: Level::loadFile() { //some code MazeExit *new_exit; new_exit = new MazeExit; //some more code } 析构函数: Level::~Level() { delete new_exit; new_exit = NULL; } 现在的问题是对象new_exit现在超出范围,但我担

你好

我想删除指向在本地函数中创建的对象的指针。我不太清楚该如何表达这个问题,因为这是我第一次问

功能:

Level::loadFile() {
//some code
MazeExit *new_exit;
        new_exit = new MazeExit; 
//some more code
}
析构函数:

Level::~Level()
{
  delete new_exit;
  new_exit = NULL;
}

现在的问题是对象
new_exit
现在超出范围,但我担心它分配的动态内存可能会泄漏

该变量是在方法loadfile中分配的,并且仅限于该方法。因为您更新了它,所以当该方法返回时,您确实泄漏了内存。若并没有理由在加载文件后mazeexit exit exist,那个么不要新建它,只需声明它即可。如果它确实需要挂起,请将其声明为成员变量,以便您能够在析构函数中删除它

,这样我就必须在构造函数中初始化它?