C++ STL vector使用总结

vector是C++标准模板库中的部分内容,中文偶尔译作“容器”。它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。使用时需要包含头文件<vector>。


1.vector初始化

1.1vector初始化主要有三种方法。

(1)vector <type> a;    不初始化容器(本文就容器和数组不加区别)大小,即创建一个空容器,之后可以通过push_back向容器后放入元素。

(2)vector<type>a(v.begin(),v.end());//将v[begin(),end())区间的元素拷贝给a。

例如:int arr[]={2,3,4,5};

vector<int>a(arr,arr+sizeof(arr)/sizeof(int));//将数组arr拷贝给a(用迭代器的地方都可以用指针哦)

(3)vector <type> a(10);    初始化容器大小(size)为10,如果是int、float等类型,默认初始化值为0,char类型默认初始化值为一个空格,string类型没有初始化值(即使为空容器大小还是为10)。

vector<int> a(10,1);    初始化容器大小为10,值都为1。

(4)vector<int> a={3,4,5,6};    将容器初始化为{3,4,5,6}。

注意:

(1)必须经过初始化的空间才能够进行赋值,比如

vector <int> a;
a[1]=1;

这是不对的,也是初学者最容易犯的一个错误,这时的a并没有初始化任何空间,a的大小和容量都为0,a[1]这个位置并不存在,自然也就不能给a[1]赋值。不过可以通过push_back向后插入元素,对应容器大小自动加1。

(2)使用vector <int> a(10)初始化后,容器前10个元素会有默认初始值0,此时再通过push_back插入元素将会在a[10]位置(第11个)。


1.2多维数组的创建

前面说到,vector是一个能够存放任意类型的动态数组,既然是任意类型,自然也包括vector本身。

(1)给所有维度初始化空间

vector<vector<int>>v(5, vector<int>(6));//初始化一个二维数组,5行6列,值全为0

也可以看作v这个容器里装有5个vector容器,这5个vector里面每个装有6个int数据,且这样初始化值全为0。

c
  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值