04 2022 档案
摘要:1. 简介 作为STL六大组件之一的迭代器(iterator),它提供一种方法,使之能够依次访问容器内所含的各个元素,而又不需暴露容器的内部表述方式。它扮演着容器与算法之间的胶合剂,也是所谓的“泛型指针”。从实现的角度看,迭代器是一种将operator*,operator->,operator++,
阅读全文
摘要:1. 简介 stl 在<bits/stl_uninitialized.h>文件中提供了一系列的全局内存处理函数,用于容器的初始化工作。此篇章主要分析该文件提供的部分函数。 2. __uninitialized_default_n_a // 调用空间分配器_Allocator提供的construct函
阅读全文
摘要:1、意图 用原型示例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 2、结构 3、参与者 Prototype——声明一个克隆自身的接口; ConcretePrototype——实现一个克隆自身的操作; Client——让一个原型克隆自身从而创建一个新的对象; 4、适用性 当一个系统应该独立于
阅读全文
摘要:1. 摘要 bitmap_allocator是STL空间分配器的其中一种,它采用内存池策略,最多存储64条空闲链表(freelist,实际是一块空间连续的内存区,后面也称为超级块),每条空闲链表存储的内存块(block)个数呈指数递增,内存块大小一致,内存池的阈值总是维持在64,任何时刻内存池的链表
阅读全文