C++标准库vector类型的使用和操作总结

Posted maluning

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++标准库vector类型的使用和操作总结相关的知识,希望对你有一定的参考价值。

  vector是一种类型对象的集合,它是一种顺序容器,容器中的所有对象必须都是同一种类型。vector的对象是可以动态生长的,这说明它在初始化时可以不用指定大小,而是再使用时根据元素所需的空间动态增长。C++中还有一种常见的类型string,它和vector有很多相似之处,具体可以看《C++标准库string类型的使用和操作总结》这篇博文。下面简单介绍一下vector容器的使用和操作。

一.声明和初始化

  使用vector之前必须在程序前的库包含中包含相应的头文件,如下:

#include<vector>
using std::vector;

  vector定义了几种构造函数,所以它提供了几种初始化的方式,如下:

vector<T>    v1;        //vevtor保存类型为T的对象。默认构造函数v1为空。
vector<T>    v2(v1);        //v2是v1的一个副本,v1和v2的元素类型必须相同
vector<T>    v3(n,i);        //v3包含n个值为i的元素
vector<T>    v4(n);            //v4包含初始化的元素的n个副本,默认元素值为0

二.常用操作

  vector的很多操作都类似于string对象的操作,下面仅仅列出一些常用的操作。

v.empty();        //如果v为空,则返回true,否则返回false
v.size();            //返回v中元素的个数
v.push_back(t);          //在v的末尾添加一个值为t的元素
v[n];                //返回v中位置为n的元素,从0开始计数
v1=v2;            //把v的内容替换为v2的一个副本
v1==v2;            //比较v1和v2的内容,相等则返回true,否则返回false
!=,<,<=,>和>=    //保持这些操作符惯有的含义

  值得注意的是在进行下标操作时,必须是已经存在的元素才能进行下标索引,否则通过下标索引赋值,不会添加任何元素,如:

vertor<int >    ivec;
for(vector<int >::size_type i=0;i!=10;++i)
    ivec[i]=i;
//上面则条语句不会像容器添加任何元素,因为ivec是空的对象,所以应该改成下面的语句
vertor<int >    ivec;
for(vector<int >::size_type i=0;i!=10;++i)
    ivec.push_back(i);

 

以上是关于C++标准库vector类型的使用和操作总结的主要内容,如果未能解决你的问题,请参考以下文章

C++迭代器的使用和操作总结

C++顺序容器知识总结

C++一些算法题总结

C++标准模板库STL最全总结收藏方便使用

C++vector用法总结

vector使用大全, 资料!!!c++