vector實現刪除指定元素的方法?
a.erase(it++); 注意,一定是it++,而不是++it。
刪除之后,原來那個it就無效了,需要向后移動一個,否則for里面判斷就會崩潰
另外,我忘了告訴你,應該這樣寫:
for (vector<int>::iterator it = v.begin(); it != v.end();) //for循環中不要it++
{
if (*it == 1)
{
v.erase(it++);
}
else
{
it++;
}
}
下一篇jdk和oracle
vector實現刪除指定元素的方法?
a.erase(it++); 注意,一定是it++,而不是++it。
刪除之后,原來那個it就無效了,需要向后移動一個,否則for里面判斷就會崩潰
另外,我忘了告訴你,應該這樣寫:
for (vector<int>::iterator it = v.begin(); it != v.end();) //for循環中不要it++
{
if (*it == 1)
{
v.erase(it++);
}
else
{
it++;
}
}