在从函数返回值之前删除指针

Jam*_*ton 0 c++

如果我有这个:

double foo()
{
double* ptr = new double(0);

return *ptr;
}
Run Code Online (Sandbox Code Playgroud)

如果在返回之前没有删除ptr,这会导致内存泄漏吗?因此,在从函数返回之前删除ptr的正确方法是什么?

use*_*136 7

你有几个解决方案:

  • 使用scoped_ptr
  • 声明堆栈上的变量