- 博客(2)
- 收藏
- 关注
原创 《stl源码剖析》第三章学习记录
接着介绍了一个类模板iterator_traits,这是一个萃取器,通过typedef,将迭代器中的内嵌型别value_type提取出来,接着,通过模板特化技术,我们做一个特化版本的iterator_traits,其参数被进一步限制为T*,这样我们就可以将value_type定义为T类型,相当于原生指针没有该类型,我们在这里为其加上。,也就是input。开篇首先介绍了迭代器这种设计模式的思想,通过迭代器这个方法,我们可以遍历容器的元素,但又不关系容器内部的具体实现,就如同,“万花丛中过,片叶不沾身”。
2024-06-19 23:00:33 720
原创 《stl源码剖析》第二章学习记录
这里的逻辑是如果我们正常的内存申请allocate ,再申请reallocate,因为内存不够做不下去了,我们会调用oom版本,在两个oom版本中都会首先调用my_malloc_handler,这个函数指针是模板类的静态数据成员,初值为NULL,2.2.7给出了第二级配置器中allocate的实现,主要思想就是根据申请大小定位到散列表的头结点,如果针对这条链表,如果链表有节点,就直接从头pop出一个,如果没有,通过refill为该链表填充一些节点,然后再从头pop出一个。
2024-06-19 15:36:42 581 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人