#include <iostream>
using namespace std;
#include <vector>
#include <algorithm>
int main()
{
vector<int> vec(10, 8);
vector<int>::iterator vecIt;
for (vecIt=vec.begin(); vecIt!=vec.end(); ++vecIt)
{
cout<<*vecIt<<" ";
}
cout<<endl;
vec.erase(vec.begin()+2);
for (vecIt=vec.begin(); vecIt!=vec.end(); ++vecIt)
{
cout<<*vecIt<<" ";
}
cout<<endl;
cout<<"------------------------------------------------------"<<endl;
vec.insert(vec.begin()+3, 9);
for (vecIt=vec.begin(); vecIt!=vec.end(); ++vecIt)
{
cout<<*vecIt<<" ";
}
return 0;
}
输出:
8 8 8 8 8 8 8 8 8 8
8 8 8 8 8 8 8 8 8
-------------------
8 8 8 9 8 8 8 8 8 8
在写这个的时候犯了个错误,刚开始写的是vec.erase(3);我想删除第三个位置上的数据,编译器报错,
看了半天 发现,参数必须是指针,后来用iterater,但是那个删除的迭代器指针,而不是容器内的数据。
后来,朋友帮忙解答,才知道了这种方法。
在对容器内的某个位置操作的时候,无论是删除,插入,参数需要传个指针进去,而容器最好用的指针
还是vec.begin(),和vec.end()
记下来,以为鉴
本文介绍了使用C++ STL中的vector容器进行元素的插入与删除操作,并通过具体代码示例展示了如何利用迭代器来实现这些操作。同时,还强调了在进行容器操作时正确使用迭代器的重要性。

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



