STL源码分析
冯巩2.0
这个作者很懒,什么都没留下…
展开
-
【STL源码分析】deque
文章目录_Deque_base 用于维护一位的指针deque迭代器的指针push_back_M_push_back_auxinsert_M_insert_aux _Deque_base 用于维护一位的指针 //如果一维数组不够用了,需要动态开辟一个细心的一维数组, //将原数组中的保存的缓冲区地址的指针全部复制到新的一维数组中 // _Tp** _M_map; //一维数组 siz...原创 2019-08-11 11:19:56 · 509 阅读 · 0 评论 -
【STL源码分析】vector
文章目录vector 的成员变量push_back()_M_insert_auxinserterase其他 vector 的成员变量 // vector的成员变量 // vector底层是可动态扩容的数组,所以 protected: _Tp* _M_start; //数组首地址 _Tp* _M_finish; // 数组下一个可用位置 _Tp* _M_end_of_storage;...原创 2019-08-11 11:20:30 · 794 阅读 · 0 评论 -
【STL源码分析】map
文章目录map 的底层数据成员insert[] 运算符重载函数 map 的底层数据成员 typedef _Rb_tree<key_type, value_type, _Select1st<value_type>, key_compare, _Alloc> _Rep_type; //红黑树结构 _Rep_type _M_t;...原创 2019-08-11 12:06:12 · 681 阅读 · 0 评论 -
【STL源码分析】二级空间适配器
文章目录为什么要使用空间适配器二级空间适配器源码分析allocate_S_refill_S_chunk_allocdeallocate 为什么要使用空间适配器 要知道为什么要使用空间适配器,我们先看一下下面这段代码 #include <iostream> using namespace std; template<typename T> class Vector { p...原创 2019-03-30 23:12:51 · 1030 阅读 · 0 评论