[STL]Vertor基本用法解释+代码实例

C++ STL标准模板库的总结学习。文章中对于vertor动态数组的比较常见用法进行总结。

复习时间 2021-07-30

  1. 匿名对象的使用
  2. swap实际是交换地址-可以用来缩小容量
  3. resize 缩小不了容量,可以减少元素个数 或者填充
  4. 单口容器 和 动态增长的方式
  5. 初始化的方式

1 vector 单口容器的特性

在这里插入图片描述

  • vertor 是动态数组,连续内存空间,具有随机存取效率高的有点。(补充 一般可以【】下标访问的都是随机存取)
  • vector是单口容器,在队尾插入和删除效率高,在指定位置插入会导致数据移动,效率低

2 vertor实现动态增长的原理(重要)

当vector空间满的时候,再当插入新元素的时候,vector会重新申请一块更大的内存空间,将原空间数据拷贝到新的内存空间,然后释放旧的内存空间,再将新元素插入到新空间中,以此可以看出vector的空间动态增长效率低。

3 vector 初始化 (包括数组的方式 )

1 采用动态模板实现,默认构造函数。常见格式 类型<类型> 实例类名称
2 vector v1(arr,arr+sizeof(arr)/sizeof(int)); 这是最常用的方式 传入起始地址 和 最后元素地址的后一个

	void ceshi(vector<int> v)
   {
   
		for (vector<int>::iterator it = v.begin(); it != v.end(); it++)
		{
   
			cout << *it << endl;
		}

	}
	//四种方式 1
    vector<int > v;
	vector<int > v;
	int arr[] = {
    1,2,3,4,5,6 };
	//2 最常用
	vector<int> v1(arr,arr+sizeof(arr)/sizeof(int));
	//3
	vector<int> v2(v1.begin(), v1.end());
	//4
	vector<int> v3(v2);
	ceshi(v1);
	ceshi(v2);
	ceshi(v3);
  • 12
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Windalove

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值