在向量中插入一些值

inserting some values in vector?

本文关键字:插入 向量      更新时间:2023-10-16

我用c++编写了一段代码,并使用vector.insert()和迭代器在vector中插入值。但是我收到了一个错误:

非增量的Vector迭代器

我不知道这段代码有什么问题。我猜是++it,但我无法解决这个问题。我将感激任何帮助。
#include <iostream>
#include <vector>
using namespace std;
int main(){
    vector<int>::iterator it;
    vector<int> vec2(4);
    it  = vec2.begin();
    vec2.insert(it, 45);
    ++it;  // error pops here                    
    vec2.insert (it,23);
    for(it = vec2.begin(); it!= vec2.end(); ++it)
            cout << " "<<*it<<endl;
return 0;
}

你很接近了。你的错误是插入使迭代器无效,所以你需要重新赋值:

it = vec2.insert(it, 45);
++it;                      
it = vec2.insert (it,23);

演示。

你的程序打印45 23 0 0 0 0。后面的零来自四个值的向量的初始设置。