假设我想根据一些标准删除项目。比方说:
QMap<int, int> map;
我想删除所有值为奇数的项目。如果我使用迭代器:
for (auto it = map.begin(); it != map.end(); ++it)
if (it.value() % 2 == 1)
map.remove(it.key());
这段代码可能是错误的,因为调用
map.remove(it.key())
使迭代器无效。如何在每次删除后不重置迭代器的情况下做到这一点?