Предположим, я хочу удалить элементы по какому-то критерию. Скажем:
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())
делает итератор недействительным. Как это сделать без сброса итератора после каждого удаления?