> 文章列表 > 16 标准模板库STL之vector

16 标准模板库STL之vector

16 标准模板库STL之vector

基础知识

        1、vector和数组有点类似,但它比数组更好用。一般来说,数组的长度是不能动态拓展的,因此就需要考虑长度到底多大合适。长度不能过大,否则浪费内存;也不能过小,否则内存不够。vector正好弥补了这个缺陷,相当于一个可以自动改变数组长度的动态数组。

        2、vector拥有的内存空间是连续的,因此它能非常好的支持随机存取,在尾部添加、移除元素非常快,但在中间和头部插入、移除元素会造成内存的拷贝,效率比较低。vector适用于对象较简单,变化较小,并且频繁随机访问的应用场景。

        3、使用vector前,需要先包含其头文件。

#include <vector>
using namespace std;

        定义vector变量的规则如下:

                  vector<类型名> 变量名;

        其中,类型名可以是int、float、结构体、类、指针等,还可以是STL容器,如:vector、list等。

#include <vector>
using namespace std;struct DataInfo
{int nAge;unsigned int uiNumber;bool bRegistered;
};class CBase
{
};vector<int> vctData1;
vector<float> vctData2;
vector<DataInfo> v