![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
STL源码剖析
Error Man
我是菜逼
展开
-
STL 源码剖析:配接器 (stack,queue,插入迭代器,反向迭代器,流迭代器)
STL 所提供的各种配接器中,改变仿函数 (functors) 接口者,我们称为 function adapter,改变容器 (containers) 接口者,我们称为 container adapter,改变迭代器 (iterators) 接口者,我们称为 iterator adapter。//// 应用于容器:STL 所提供的两个容器,queue 和 stack,其实都是一种配接器...原创 2020-04-13 22:32:13 · 240 阅读 · 0 评论 -
STL 源码剖析:deque 的实现原理
虽然 deque 从表面上来说,它采用连续的空间,并且支持随机访问,即其迭代器为 random_access_iterators 类型。而且相比 vector,它还支持 push_front()。//// 但是实际上,deque 只是逻辑上的连续空间。它需要维护一个特殊的东西,叫做 deque 的中控器。该中控器主要由一个二级指针和一个 size 构成,(即可以理解为,该中控器是一个一级...原创 2020-04-13 15:13:15 · 334 阅读 · 0 评论 -
STL hashtable 的底层实现,与 hash_set, hash_map, hash_multiset, hash_multimap
http://www.cnblogs.com/JackyTecblog/archive/2012/08/12/2634764.htmlHashtable在C++的STL里占据着比较重要的一席之地。其中的hash_set、hash_map、hash_multiset、hash_multimap四个关联容器都是以hashtable为底层实现方法(技巧)。应该说,上述的四个关联式容器提供的api都是对...转载 2020-04-11 21:29:45 · 224 阅读 · 0 评论 -
STL 源码剖析重要部分:迭代器与Traits编程技法
五种迭代器类型struct input_iterator_tag { };struct output_iterator_tag { };struct forward_iterator_tag: public input_iterator_tag { };struct bidirectional_iterator_tag: public forward_iterator_tag { };s...原创 2020-04-13 10:06:15 · 160 阅读 · 0 评论 -
STL 源码剖析重要部分:allocator 源码
文章目录SGI 特殊的空间配置器,std::alloc空间的释放与配置,std::alloc第一级配置器 __malloc_alloc_template 剖析第二级配置器 __default_alloc_template 剖析(从 2.2.6 ~ 2.2.10)空间配置函数 allocate()空间释放函数 deallocate()重新填充 free lists,refill()内存池 (mem...原创 2020-04-12 19:53:59 · 632 阅读 · 0 评论