STL
EINPROGRESS
这个作者很懒,什么都没留下…
展开
-
C++11 STL之vector实现深入剖析(下)
上回我们分析了push_back函数。接下来我们来看下pop_back函数。递减_M_finish指针,然后析构最后一个对象,但是内存不会进行释放,即capacity接口返回值不变。这也说明了为何没有pop_front接口;倘若有,那么每一次调用都得将所有对象向前移动,vector不擅长此类操作。 void pop_back() { /* * 递减_M_finish指针,...原创 2019-01-05 00:27:46 · 669 阅读 · 0 评论 -
C++11 STL之vector实现深入剖析(上)
概述 vector是一种线性容器,因此它的所有成员都是按照严格的线性排序。Vector是通过动态数组来实现的,因此它的成员都是存放在连续的内存中。所以我们不仅可以通过迭代器去遍历成员,还可以通过成员的指针加偏移来访问。因此vector擅长 通过下标来索引单个成员 任意顺序迭代访问所有成员 从尾部追加或删除成员 类图 首先我们来看下vector的类图,为了便...原创 2019-01-01 23:37:58 · 2285 阅读 · 0 评论