вопрос про stl, vector::erase
От: BlackBox Россия ---
Дата: 17.01.05 09:14
Оценка:
Добрый день.

Мне надо в цикле перебирать значения хранящиеся в векторе. При определенном условии я должен удалить текущее знаечение из вектора и продолжить обход.

Сейчас сделал так:


...
table_iter_t it = table.begin();

for (int i=0; it != table.end(); it++, i++)
{
...
  if (cond)
  {
    table.erase(it);
    i--;
    it = table.begin()+i;
    continue;
  }
...
}


Легальный ли это код или лучше сделать c remove+erase?

Заранее спасибо за ответы.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.