内存不是挨着的,所以内部没有采用内存池的技术。
namespace _nmsp2 { //二:分配器的使用 //allocator分配器,是个类模板,我们写代码时极少会直接用到这个allocator这种容器的分配器; //但从语法上来讲,allocator分配器是能够被直接编码使用的 void func() { //list<int, allocator<int> aalloc; //定义一个aalloc对象,为类型为int的对象分配内存 int *p = aalloc.allocate(3); //allocate()是分配器中的重要函数,用来分配一段原始的未构造的内存。 //这段内存能保存3个类型为int的对象(12字节); int *q = p; *q = 1; q++; *q = 2; q++; *q = 3; aalloc.deallocate(p, 3); //deallocate()也是分配器中的重要函数,用于释放内存,你需要记住分配了几个对象,释放时要释放正确数量的对象; } }