随笔分类 -  STL的底层实现

纸上得来终觉浅。参照《STL源码解剖》实现一个可使用的STL库。
摘要:1 #include 2 3 struct input_iterator_tag {}; 4 struct output_iterator_tag {}; 5 struct forward_iterator_tag : public input_iterator_tag {}; 6 struct bidirectional_iterator_tag : public ... 阅读全文
posted @ 2018-06-12 18:08 小小Cv 阅读(174) 评论(0) 推荐(0)
摘要:simple_alloc只是对配置器的简单包装 代码如下: 阅读全文
posted @ 2018-06-11 14:47 小小Cv 阅读(603) 评论(0) 推荐(0)
摘要:本文不考虑异常处理情况。 STL的第二级配置器是默认使用的配置器,第一级配置器只是简单的调用malloc(),free(),realloc()等函数,并没有真正意义上对内存进行管理 STL的第二级配置器相对较为复杂,利用了链表的形式管理16种内存大小不同的区块。由于链表的存在,当使用内存不再需要时, 阅读全文
posted @ 2018-06-11 14:41 小小Cv 阅读(359) 评论(0) 推荐(0)
摘要:考虑到复杂度问题,没有实现异常处理. 学习STL主要目的之一是为了学习内存管理 阅读全文
posted @ 2018-06-11 14:28 小小Cv 阅读(255) 评论(0) 推荐(0)