Allocator:

这里的目标不一定是内存,是泛指的“空间”,比如硬盘等介质;

SGI实现了一个两层的分配器,

  • 第一层级:直接使用malloc和free;其实这个操作成本很高;
  • 第二层级:视情况,如果分配块>128bytes,则调用第一层级分配器;否则,采用memeory pool的碎片内存管理方式;比如维护16个自由链表free lists,负责16种小型区块的次分配能力;内存池不足的时候,转调第一层级分配器;


Iterator:

型别:

  • value type
  • difference type
  • pointer
  • reference
  • iterator category

类型:

  • input
  • output
  • forward
  • bi-directional
  • random access

关系如下:

C++_STL源码阅读:Allocator & Iterator


相关文章:

  • 2021-05-02
  • 2021-11-09
  • 2021-10-03
  • 2021-05-29
  • 2021-09-05
  • 2021-12-20
  • 2021-12-16
  • 2021-07-30
猜你喜欢
  • 2021-07-23
  • 2021-05-06
  • 2022-12-23
  • 2022-01-18
  • 2021-05-29
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案