int main()
{
std::vector<int> array{1, 2, 3, 4, 5};
for(auto i = array.begin(); i != array.end();) {
if(*i == 2 || *i == 5) {
i = array.erase(i);
} else {
i++;
}
}
}
int main()
{
std::vector<int> array{1, 2, 3, 4, 5};
for(auto i = array.begin(); i != array.end(); i++) {
if(*i == 2 || *i == 5) {
i-- = array.erase(i);
}
}
}
Are these two form identical? Could I go into problems using one or another? (i.e. with every kind of object, such as linked list?).