STL vector 动态数组(容器) 2011.04.14

本文介绍了使用C++ STL中的vector容器进行元素的插入与删除操作,并通过具体代码示例展示了如何利用迭代器来实现这些操作。同时,还强调了在进行容器操作时正确使用迭代器的重要性。

 

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

记下来,以为鉴

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值