|
Boost Users : |
From: bringiton bringiton (kneeride_at_[hidden])
Date: 2006-07-11 02:56:27
is this common practise for using an interator with erase? what i wish to do
is interate through each item and delete the item if some condition is
true. when i delete, i need to move back a step so that i dont miss an
item.
for (std::vector<int>::iterator it = vect.begin(); it != vect.end(); it++) {
if ((*it) == 5) { // some condition
vect.erase(it);
it--; // step back
}
}
or would it be best to use a reverse iterater? (or possible?)
for (std::vector<int>::reverse_iterator it2 = vect.rbegin(); it2 !=
vect.rend(); it2++) {
if ((*it) == 5) {
// i'm not actually sure how to erase with a reverse iterator???
vect.erase(it2);
}
}
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net