如果我在迭代器循环中向向量插入元素会发生什么?

时间:2016-08-22 17:38:54

标签: c++

int a[] = {1,2,3,4};
vector<int>  v(a, a + sizeof(a) / sizeof(int) ); // v:1 2 3 4
for(vector<int>::iterator it = v.begin(); it != v.end(); ++it) {
    if (*it == 2)
        v.insert(v.begin(), 0); // v:0 1 2 3 4
}

问题是在插入后,it是否仍然指向2?或更改为1?或其他什么?我得到了一个非常奇怪的输出,无法弄清楚。

谢谢!

0 个答案:

没有答案