これは私のプログラムのサンプルコードです。ここでは、std :: auto_ptrを使用して動的にメモリを割り当て、その後、同じ変数にメモリを割り当てています。したがって、以前に割り当てられたメモリは、同じメモリに新しいメモリが割り当てられたときに割り当てが解除されますか。std :: auto_ptrを使用しているので、これについては疑わしいです。前もって感謝します。
#include "stdafx.h"
#include <iostream>
#include <memory>
#include <windows.h>
std::auto_ptr<HANDLE> *eventHandle;
void function()
{
eventHandle = new std::auto_ptr<HANDLE>[5];
std::auto_ptr<HANDLE> handle(new HANDLE);
*handle = CreateEvent(NULL, false, false, NULL);
eventHandle[0] = handle;
}
void f2()
{
if(NULL == eventHandle)
{
std::cout<<" HANDLE NULL";
}
}
int _tmain(int argc, _TCHAR* argv[])
{
function();
f2();
function();
return 0;
}