关于vector

vector是STL的标准容器,用的是template模板实现的。vector有很多泛型算法可以利用。另外用vector要比自己定义一个数组用起来方便的多,特别是有中间的元素需要被删除的操作。 vector不是一种数据类型,而是一种类模板。

使用方法:

首先要包含头文件:

#include <vector>

using std::vector;

(1)定义与初始化

vector<T> Tvec1;

vector<T> Tvec2(Tvec1);//Tvec2是Tvec1的副本

vector<T> Tvec3(n,i);//包含n个初始值为i

(2)操作

v.empty()
如果v为空,则返回true,否则返回false。
v.size()
返回v中元素的个数。
v.push_back(t)
在v的末尾增加一个值为t的元素。
v[n]
返回v中位置为n的元素。
v1 = v2
把v1的元素替换为v2中元素的副本。
v1 == v2
如果v1与v2相等,则返回true。
!=, <, <=, >, >=
保持这些操作符惯有的含义

(3)迭代器操作

迭代器类型提供了比下标操作更一般化的方法:所有的标准库容器都定义了相应的迭代器类型,而只有少数的容器支持下标操作。

//用循环的方法
for (vector<int>::size_type ix = 0; ix != ivec.size(); ++ix)
ivec[ix] = 0;


// 采用迭代器的方法(效果相同)
for (vector<int>::iterator iter = ivec.begin();
iter != ivec.end(); ++iter)
*iter = 0; // set element to which iter refers to 0

CArray的操作与vector之类似,不过一般认为:vector 对于空间不足时重新申请空间 拷贝数据 销毁原有内存效率的考虑上比CArray好。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值