STL vector 动态数组(容器) 2011.04.14

来源:互联网 发布:网络地理位置 编辑:程序博客网 时间:2024/05/16 19:07

 

#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()

记下来,以为鉴

 

 

原创粉丝点击