Здравствуйте. Имею проблемы с задачей на С++. Конкретно - с классом map библиотеки STL.

Задача такая: читать дальше



собственно, с теми проблемами разобрался, но теперь появилась проблема чисто кодового характера.
for(map::iterator iter=table2.begin(); iter!=table.end()
{
if (((*iter).first.num)==number) iter=table2.erase(iter); *здесь необходимо сперва вставить этот элемент в table3, а затем удалить из table2*
else {cout<<(*iter).first.num<<"\t"<<(*iter).first.name<<"\t"<<(*iter).first.marsh<<"\n"; iter++;}
}
Излазил всё, но не могу найти варианта, чтобы вставить объект с позиции итератора. Т.е. находил что-то типа table3.insert(iter, что-то непонятное). Но вот как именно в этом случает в цикле вставить этот объект?

Запоролся на этом, двинуться дальше не могу, хотя задача в принципе решена. Помогите, пожалуйста!
Заранее спасибо.