我有一张地图,其中第二个元素是堆分配的。
我应该delete
在迭代或执行方法时显式调用erase()
并clear()
为我执行此操作吗?
这是我的析构函数,它删除了分配的第二个元素new
~Event()
{
auto iter = mapper.begin();
while (iter != mapper.end())
{
mapper.erase(iter++); // heap object
}
}