layout: post
title: 侯捷STL学习(七)
date: 2017-06-13
tag: 侯捷STL
第十六节 深度探索vector
vector
源码剖析
-
vector
内存2倍扩充,是在另外的地方重新申请内存,将数据搬过去 -
前闭后开区间
-
2倍扩充方法,reallocation
-
insert_aux
函数中再次判断,原因是可能有其他放元素的操作如insert
- 也要拷贝插入之后的数据,考虑到
insert
插入某个位置,红色框部分
vector's iterator
-
vector
结点是连续的,iterator
不需要是类,是个指针即可。 - 算法问的五种相关类型,通过
iterator traits
实现 - 通过指针偏特化
G4.9 vetor and iterator
- 变得复杂,但是追踪其根源和G2.9本质一样。
第十七节 深度探索array和forward list
容器array
-
TR1
技术报告1 ,C++1.0-1998和c++2.0-2011之间的过渡版本 - 源码很清晰,没有构造和析构函数;申明数组大小;用指针当迭代器
-
G4.9
变得复杂
容器forward-list
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:侯捷STL学习(七)–深度探索vector&&array - Python技术站