搞定技术面试:那些你可能不知道的 vector 和 array 的区别

搞定技术面试:那些你可能不知道的 vector 和 array 的区别

最近几年,计算机工作越发难找,你必须比其他人了解的更多,才能有更多的机会找到一个更好的工作。

C++ 标准库(STL)是很多C++面试中都会问到的问题,很多很多问题会关于 Vector 的空间分配、动态增长之类的问题,那么你了解 STL 中那些顺序容器的区别与联系吗?
你知道在什么情况选用什么容器吗?

先说结论,一般情况选择 vector 是很好的选择,如果你的程序目标有如下特点时,才可能需要换用别的容器:

  • 有很多小元素、空间额外开销比较重要,不要使用 list 和 forward_list;
  • 程序要求随机访问,选择 vector 和 deque;
  • 程序经常在中间插入元素,可以选择 list 和 forward_list;
  • 程序只在头尾插入元素,不常在中间插入元素,选择 deque;
  • 程序一开始插入时会在中间插入元素,但之后的使用过程中基本不在中间插入元素,先用 list 处理输入场景,再用 vector 拷贝 list 的数据,处理后续使用。

整体介绍

所有的顺序容器都具有可以快速按顺序访问元素的能力,但每种容器在具体的实现上又有些区别。

顺序容器类型 含义 特点
vector
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值