int main()
{
vector<int>iv = {1,3,7,5,7,8,4,3,5,9};
int val = 7;
auto iter = iv.begin(),mid = iv.begin() + iv.size() / 2;
while (iter != mid)
{
if (*iter==val)
{
iter=(iv.insert(iter, 2 * val))+2;
}
else
{
iter=++iter;
}
}
for (auto a : iv)
{
cout << a << " ";
}
return 0;
}
这段代码想在容器中找到等于7的元素,然后在他前面插入14最后输出。
逐语句调试我发现,它执行到第四次while循环报错,也就是在第一次insert数据之后。不太懂是为什么