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
?或其他什么?我得到了一个非常奇怪的输出,无法弄清楚。
谢谢!