【发布时间】:2011-05-13 08:33:39
【问题描述】:
您好,我想咨询一下: 我有地图和清单
问题:
以下是析构函数的实现吗:
for (map<string,SymbolTableNode*>::iterator i = symbolTable.begin();
i != symbolTable.end(); ++i)
{
delete i;
}
symbolTable.clear();
还是我错过了一些记忆?
关于列表:
list<MyClass2*> mylist;
mylist.push_front(new MyClass());
mylist.pop_front();
pop 调用删除吗?或者在这种情况下我有内存泄漏?如果有漏水问题,我该怎么做才能避免呢?
谢谢。
【问题讨论】:
-
我认为你应该删除迭代器 i 的值,而不是它本身。
-
非常感谢 Andreas 和所有其他人,这对我帮助很大
标签: c++ stl memory-leaks