前面讲了simple_alloc 和alloc_pool将会作为bbg的STL容器的空间配置器,但是这两个类都不是泛型的,不能为所有类型自动提供内存分配,这时候就需要一个空间配置器的适配器来完成这功能。
我们将会通过下面一组预编译的宏,来决定到底是适配到simple_alloc 还是alloc_poo。具体做法如下:
#define SIMPLE_ALLOC
#ifdef SIMPLE_ALLOC
typedef simple_alloc alloc;
#elif defined(ALLOC_POOL)
typedef alloc_pool alloc;
#endif
源代码: