欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

vector小结

程序员文章站 2022-05-11 12:44:54
...

一、vector的基本属性

   (1) vector是C++中的一个模板类,是我们常用到的一个容器,它的底层实现是C++的内置类型数组。标准库使用需要头文件#include<vector>,vector是一个类模板,vector<int>才是一种数据类型。它的存储空间与数组一样都是连续的。vector默认为空,在windows下的Visual studio系列工具里它的增长方式为0 -> 1  ->  2  ->  4 -> 8  ->  16   .......。

二、.vector的定义和初始化

	(1)vector<typename>  v1;v1此时容量为空,故v1[0 ]  = 0是错误的。
	(2)vector<typename>  v2(v1)或 v2 = v1或 vector<typename>  v2(v1.begin(),v1.end());   此时v2是v1的一个副本。
	(3)vector<typename> v3(n ,i) v 3  初始化为包含n个值为<typename>i的元素。
	(4)vector<typename> v4(n)  v4 初始化为含有n个值为<typename>NULL的元素。
	(5)int a[5]  = {0,1,2,3,4}; vector <int> v5(a,a+5);此时用数组a中的五个元素初始化V5;
	(6)vector<typename> v6(v5);此时V6是v5的拷贝。

三、值得初始化规则**:**

	(1)如果没有指定元素初始化,则标准库自行提供一个元素进行初始化。
	(2)如果容器中存放的是含有构造函数的类类型的元素,标准库使用该类类型的构造函数初始化。
	(3)如果存放的是不含有构造函数的类类型元素,则标准库提供一个带初始值的对象,使用这个对象进行值初始化。
	
**四、vector对象的几种易忽略的操作:**

	(1)v.resize(2*v.size(),0)将v的容量扩大二倍,并初始化为0;
	(2)v.insert(pointer ,number, content) 向pointer指定的位置插入number个content指定的值。
	(3)v.erase(pointer1,pointer2)删除p1到p2之间指定的元素,包括p1所指的元素。
	(4)对于const vector<typename>  只能用 vector <typename>:: const_iterator 类型的指针来访问。
	(5) p = v.end();p指向v的最后一个元素的下一个位置。
	(6)v.clear();删除v中的所有元素。
相关标签: 学习总结

上一篇: CSS居中方法

下一篇: css居中方法