侯捷STL学习(七)--深度探索vector&&array


layout: post
title: 侯捷STL学习(七)
date: 2017-06-13
tag: 侯捷STL
---

第十六节 深度探索vector

vector源码剖析

  • vector内存2倍扩充,是在另外的地方重新申请内存,将数据搬过去
  • 前闭后开区间
    OLr8bCi.png

  • 2倍扩充方法,reallocation
  • insert_aux函数中再次判断,原因是可能有其他放元素的操作如insert

zqoGsXX.png

  • 也要拷贝插入之后的数据,考虑到insert插入某个位置,红色框部分
    tzOc2GO.png

vector's iterator

  • vector结点是连续的,iterator不需要是类,是个指针即可。
  • 算法问的五种相关类型,通过iterator traits实现
  • 通过指针偏特化

D2RTc9M.png

G4.9 vetor and iterator

NOZK15j.png

  • 变得复杂,但是追踪其根源和G2.9本质一样。

qL2Yenv.png

第十七节 深度探索array和forward list

容器array

  • TR1技术报告1 ,C++1.0-1998和c++2.0-2011之间的过渡版本
  • 源码很清晰,没有构造和析构函数;申明数组大小;用指针当迭代器
    ZtLTCr1.png
  • G4.9变得复杂
    218WN9D.png

容器forward-list

sDMXwz9.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值