Можно ли правильно последовательно проходить через QMap с помощью итераторов и выполнять такие действия: удаление некоторых элементов и добавление новых?
Например:
for( QMap<key_t,val_t>::iterator it = map.begin();
it != map.end();
++it )
{
if( it->value == something )
{
map.erase(it);
map.insert(it->key+10,it->value);
}
}
Кажется, что ничего не будет сделано неправильно, я прошу быть уверенным. (У меня нет достаточно времени, чтобы проверить это).
UPD Будет решать с QMap::unite()
:
for( QMap<key_t,val_t>::iterator it = map.begin();
it != map.end();
++it )
{
if( it->value == something )
{
tmp_map.insert(it->key+10,it->value);
map.erase(it);
}
}
map.unite(tmp_map);
Спасибо за ответы!