C++STL常见面试题1

1.说说vector的底层(存储)机制。
vector就是一个动态数组,里面有一个指针指向一片连续的内存空间,当空间不够装下数据的时候,会自动申请另一片更大的空间(一般是当前容量的百分之50),然后把原来的数据拷贝过去,接着释放原来的空间。

2.说说list的低层机制
以节点为单位存放数据,节点的地址在内存中不一定连续。每次插入或删除一个节点,就配置或释放一个元素空间。

3.什么情况下用vector,什么情况下用list。
vector可以随机存储元素(即可以通过公式直接计算出元素地址),适合对象简单,随机访问频繁的。
list不支持随机存储,适合频繁删除和插入,对象数量变化频繁的。

4.说说map的底层机制
map是以红黑树为底层机制。红黑树是一种平衡二叉搜索树,自动排序效果不错。
通过map不能修改其键值,只能修改其真实值。所以map迭代器既不是const也不是mutable。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值