我正在循环通过 STL 映射来删除元素并进行一些清理。对我来说不幸的是,我的程序在 ++iter 行上崩溃了。我在地图上循环的方式有问题吗?
std::map<string,BoneHierarchy* >::iterator iter = boneMap.begin();
while(iter != boneMap.end()) {
string playerName = iter->first;
boneMap[playerName]->clear();
boneQueue->push(boneMap[playerName]);
boneMap.erase(iter);
++iter;
}