我在遍历vector时,需要删除某些其中的元素,当然要用到erase,需要注意的是,erase删除vector一个元素后不能够保证其后即元素一定移动到iterator所引用的位置
更正:由于容器类的erase会返回一个iterator来指向当前删除元素的后继元素,因此,在遍历容器的所有元素的过程中通过erase删除一个元素后,需将erase的返回值赋给迭代变量eg
for(it_p=a.begin(),it_p!=a.end();it_p++)
{
it_q=a.erase(it_p)
it_p=it_q;
}
这样就不会越界访问了