这是为了家庭作业。我的程序运行正常,但我无法摆脱内存泄漏。
我有一个类对象。
我有一个类 objectPtr,它有一个指向对象类的指针。
我有...
typedef set<objectPtr> ObjectSet;
我的对象是这样存储的:
map<string, ObjectSet*> myMap;
当我尝试遍历数据结构时,删除对象(这就是我认为我正在做的事情......)我导致我的代码崩溃。
for(map<string, ObjectSet*>::const_iterator it = myMap.begin(); it != myMap.end(); ++it) {
for(ObjectSet::const_iterator e = it->second->begin(); e != it->second->end(); ++e)
delete e->getPtr();
}
这样做的正确方法是什么?