1. 整体框架
上一篇STL空间配置器—构造和析构讲述了第一个部分
由于第二部分比较庞大,所以我决定拆成三次来写完
本篇主要是简单介绍一下两级空间配置器的思路,以及提前说一下new_handler机制
2. 简单介绍
SGI 设计了双层级配置器,第一级配置器直接使用 malloc() 和 free(),第二级则视情况采用不同策略,并采用了复杂的内存池(memory pool) 整理方式。
2.1 配置器alloc
alloc是我们使用的配置器.
alloc可能被指定为1级空间配置器
也可能被指定为二级空间配置器
alloc的指定
//我们可以指定alloc是几级空间配置器
#ifdef _USE_MALLOC
...
typedef __malloc_alloc_template<0> malloc_alloc;
typedef malloc_alloc alloc; // 令alloc为第一级配置器
#else
...
// 令alloc为第二级配置器
typedef