Załóżmy, że chcę usunąć przedmioty według niektórych kryteriów. Powiedzmy:Jak usunąć wartości z QMap?
QMap<int, int> map;
i chcę usunąć wszystkie pozycje, w których wartość jest liczbą nieparzystą. Jeśli używam iterator:
for (auto it = map.begin(); it != map.end(); ++it)
if (it.value() % 2 == 1)
map.remove(it.key());
Kod ten jest prawdopodobnie błędne, ponieważ wezwanie
map.remove(it.key())
unieważnia iteracyjnej. Jak mogę to zrobić bez resetu iteratora po każdym usunięciu?
Pomoże mi to myśleć: http://stackoverflow.com/questions/263945/what-happens-if-you-all-erase-on-a-map-element-while-iterating- from-begin-to – Andrew