Здравствуйте, maslukov, Вы писали:
M>Здравствуйте, Александр, Вы писали:
M>>>
M>>>// Инициализацяи и лишние опрелделения пропущены
M>>>// этот код неверен
M>>>it = m_map.begin();
M>>>while(it != m_map.end)
M>>>{
M>>> if(условие)// проверка условия
M>>> {
M>>> //- удаление по ключю - MAP перестраиваеться следовательно it может не достигнуть m_map.end()
M>>> map.erase(it->first)
M> Ну предположим что мы сохранили итератор, потом увеличили и потом удалили сохраненный... вопрос ведь не в этом...
M>>> }
M>>> else it++;
M>>>}
M>>>
А>>так делать НИЗЯ!... после map.erase(it->first) итератор может указывать черт знает куда!
А>>а от чего зависит условие?? почему бы просто не удалять по ключу?
M> всмысле? а я удаляю не по ключю??? map.erase( а здесь ключ )...
я немного не про то.... зачем делать перебор мапа? от чаго зависит проверка условия от ключа или от значения?