要创建vector模板对象,可使用通常的<type>表示法来指出要使用的类型。另外,vector模板使用动态内存分配,因此可以使用初始化参数来指出需要多少矢量。
#include <vector> //包含头文件
vector<int> ratings(5); // a vector of 5 ints
int num; cin>>num;
vector<string> scores(num); // a vector of num strings
vector<int>::iterator pd; //为vctor的int类型规范声明一个迭代器
可对矢量(vector)执行的操作:
1)成员函数
size( ):返回容器中元素的数目。
swap( ):交换两个容器的内存。
begin( ):返回一个指向容器第一个元素的迭代器。
end( ):返回一个指向容器最后一个元素后面的那个元素的迭代器。
通过迭代器访问整个容器,例如:
for(pd=ratings.begin( );pd != ratings.end( );pd++)
cout<<*pd<<endl;
push_back( ):将元素添加到矢量的末尾。
erase( ):删除矢量中给定区间的元素,接受两个迭代器参数,第一个指向区间的起始处,第二个指向区间终止处的下一个位置。
insert( ):接受3个迭代器参数,第一个指定新元素的插入位置,第二个和第三个定义被插入的区间,该区间通常是另一个容器的一部分。
2)非成员函数
for_each( ):将被指向的函数应用于容器区间中的各个元素,被指向的函数不能修改容器元素的值。
Random_shuffle( ):接受两个指定区间的迭代器参数,并随机排列该区间中的元素。
sort( ):第一个版本接受两个定义区间的迭代器参数,并使用为存储在容器中的类型元素定义的<操作符,对区间中的元素进行排序。如果容器元素是用户定义的对象,则必须定义能够处理该类型对象的operator<()函数。第二个版本是接受三个参数,前两个是指定区间的迭代器,最后一个事指向要使用函数的指针,以这个函数来判断该如何元素的排序。