最新动态

news

C++标准库vector类型

发布人:时间:2019-05-17浏览:

C++标准库vector类型

 

 

 


Vector简介

 

 

vector是定义在C++标准模板库,它是一个多功能、能够操作多种数据结构和算法的模板类(关于模板类我们后面会介绍,如何创建自己的模板类)。vector是一个容器,能够像容器一样存放各种类型的对象。vector是一个能够存放任意类型的动态数组,能够增加和删除元素,可以完全替代C语言风格的动态数组,由于vector能够自动的管理内存,我们不需要考虑内存的增长和释放、具有很好的安全性。

 

 

 


定义和初始化vector对象

 

 

1.包含头文件 ,使用命名空间

 

#include<vector>
using namespace std;

 

2.定义和声明vector对象

 

vector<T> v1;  //T是一种数据类型,系统定义的或者你自己定义的类,但是不能是引用,T类型的,但是没有元素
vector<T> v2(v1);   //v1与v2必须是同类型,等同于赋值运算符,两个变量的元素一样
vector<T> v2 = v1; //同上
vector<T> v3(n, value) //n个重复元素 ,每个元素值都是value
vector<T> v4(n)   //n个对象,对象的值根据类型不同而不同,自动初始化,如果是int类型,就被初始化为0;如果是字符串,就被初始化为空的字符串

 

 

下声明和定义都是正确的:

 

vector1.png

 

 

 


向vector添加元素和删除元素

 

 

 

push_back(value); //在最后面添加一个元素
pop_back(value); //将最后面的元素删除,不会返回元素的值

 

 

 

 


对vector中的元素进行访问

 

 

V1[n]; //下标访问法,0~n~size-1
V1.at[n];  //下标访问法,0~n~size-1,使用at访问更加安全一些,因为at访问的时候将在运行期间检查非法的索引,这种检查的代价是运行时间更长
front(); //返回最前面的一个元素
back(); //返回最后面的一个元素

 

 

 

 


其他vector操作

 

 

Size()  // 返回数组的长度
empty() // 判断数组是否为空
==  //判断相等
比较运算符:>=  <=

 

 

 


vector的实例

 

 

文本编辑器:输入的每一行数据,输出与的时候每一行显示行号,数据,字符数。

 

测试代码如下:

 

vector2.png

 

运行结果如下:声明了一个string类型的数组,存储所有的字符串。利用两个临时变量s,一个存储,一个读出数据并计算字符串的长度。这里的字符串是没有换行符的。

 

vector3.png

 

Copyright© 2019巨立鑫 All Rights Reserved
地址:合肥市长江西路与樊洼路交口蓝光禹州城写字楼411—416
电话:0551—65571116,13225607766 技术支持:巨立鑫软件技术部