vector向量容器中使用insert()方法,可以在vector对象的任意位置前插入一个新的元素,书上说,insert()方法要求插入的位置,是元素迭代器的位置,而不是元素的下标,刚开始不太明白什么意思,直到看了一个程序后才知道。
#include<vector>
#include<iostream>
using namespace std;
int main()
{
vector<int> v(3);
v[0]=2;
v[1]=7;
v[2]=9;
v.insert(v.begin(),8);//在最前面插入新元素。
v.insert(v.begin()+2,1);//在迭代器中第二个元素前插入新元素
v.insert(v.end(),3);//在向量末尾追加新元素。
vector<int>::iterator it;
for(it=v.begin(); it!=v.end();it++)
{
cout<<*it<<" ";
}
cout<<endl;
system("pause");
}
运行结果如图:
可以看到,在最前面插入一个8后,向量中元素为:8 2 7 9.而第二次,在第二个元素前插入1的时候,此时的2指的是目前迭代器中的第二个(下标从0开始的,即此时第二个数为7).
本文通过示例程序详细介绍了如何使用C++ STL中的vector容器的insert()方法,并解释了该方法使用的迭代器参数而非下标的特点。
2035

被折叠的 条评论
为什么被折叠?



