deque/vector与list不同,他是基于数组形式的,即所有元素都放在一片连续的内存中,所以插入元素后,可能放入另外的一片内存中,迭代器就会失效,所以要注意:
deque<int> d;
d.push_back(5);
d.push_back(6);
d.push_back(8);
d.push_back(9);
deque<int>::iterator it=d.begin();
int i=1;
while(it!=d.end())
{
if(i==3)
{
d.insert(it,7);
break;
}
it++;
i++;
}
it=d.begin();
while(it!=d.end())
{
cout<<(*it);
it++;
}
结果为:56789