在我的代码中,我使用 new 分配一个整数数组。之后,我将此指针包装到一个 auto_ptr。我知道 auto_ptr 会自动调用它的析构函数。由于我的 auto_ptr 指向一个数组(使用 new 分配),该数组会与 auto_ptr 一起被删除还是会导致内存泄漏。这是我的示例代码。
std::auto_ptr<int> pointer;
void function()
{
int *array = new int[2];
array[0] = 10;
array[1] = 20;
pointer.reset((int*) array);
}
int _tmain(int argc, _TCHAR* argv[])
{
function();
return 0;
}