Vector常用函数

菜鸟教程Vector详细介绍

1. 概念:

向量(Vector)是一个封装了动态大小数组的顺序容器(Sequence Container)。跟任意其它类型容器一样,它能够存放各种类型的对象。可以简单的认为,向量是一个能够存放任意类型的动态数组。


2. 初始化:
	vector<int> vec;		//声明一个int型向量
	vector<int> vec(5);		//声明一个初始大小为5的int向量
	vector<int> vec(10, 1);	//声明一个初始大小为10且值都是1的向量
	vector<int> vec(tmp);	//声明并用tmp向量初始化vec向量
	vector<int> tmp(vec.begin(), vec.begin() + 3);	//用向量vec的第0个到第2个值初始化tmp
	int arr[5] = {1, 2, 3, 4, 5};	
	vector<int> vec(arr, arr + 5);		//将arr数组的元素用于初始化vec向量
	//说明:当然不包括arr[4]元素,末尾指针都是指结束元素的下一个元素,
	//这个主要是为了和vec.end()指针统一。
	vector<int> vec(&arr[1], &arr[4]); //将arr[1]~arr[4]范围内的元素作为vec的初始值

3. 常用函数:

(1)、容量:

返回值函数说明
intvec.size()向量大小
intvec.max_size()向量最大容量
intvec.resize()更改向量大小
intvec.resize()更改向量大小
boolvec.resize()向量判空
vec.shrink_to_fit()减少向量大小到满足元素所占存储空间的大小

(2)、增删改:

返回值函数说明
vec.assign()多个元素赋值
vec.push_back()末尾添加元素
vec.pop_back()末尾删除元素
vec.insert()任意位置插入元素
vec.erase()任意位置删除元素
vec.swap()交换两个向量的元素
vec.clear()清空向量元素

(3).迭代器:

返回值函数说明
vec.begin()开始指针
vec.end()末尾指针(指向最后一个元素的下一个位置)
vec.cbegin()指向常量的开始指针(意思就是不能通过这个指针来修改所指的内容,但还是可以通过其他方式修改的,而且指针也是可以移动的。)
vec.cend()指向常量的末尾指针

(4).元素的访问:

返回值函数说明
vec[1]下标访问,并不会检查是否越界
vec.at(1)at方法访问,以上两者的区别就是at会检查是否越界,是则抛出out of range异常
vec.front()访问第一个元素
vec.back()访问最后一个元素
int* p = vec.data()返回一个指针,/可行的原因在于vector在内存中就是一个连续存储的数组,所以可以返回一个指针指向这个数组。这是是C++11的特性。

4.容易出错点:
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值