这是我的代码:
void SurfaceManager::SurfaceManagerDelete()
{
for(map<string,SurfaceManager*>::iterator Iter = SurfaceList.begin(); Iter != SurfaceList.end(); ++Iter)
{
delete (*Iter).second;
(Iter) = SurfaceList.erase(Iter);
}
SurfaceList.clear();
}
为什么当我使用 VLD 扫描时会导致多次内存泄漏?我知道这与我从元素中删除内存的方式有关,特别是这一行“(Iter)= SurfaceList.erase(Iter);”,但是我想知道为什么,以及我应该如何从列表中正确删除元素。