Re[2]: удаление некоторых элементов из map - как это работае
От: maslukov  
Дата: 06.10.04 07:03
Оценка:
Здравствуйте, Александр, Вы писали:

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>>  else it++;
M>>}

M>>


А>так делать НИЗЯ!... после map.erase(it->first) итератор может указывать черт знает куда!

А>а от чего зависит условие?? почему бы просто не удалять по ключу?
всмысле? а я удаляю не по ключю??? map.erase( а здесь ключ )...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.