, STL的所有容器都有自己的默认分配器
分配器例如有池分配器, 位图分配器等不同的内存分配策略
尽管我们可以单独调用分配器来分配内存, 但是这意味着我们就要自己管理申请和释放的字节数, 不方便, 不如...分配器
首先需要知道, C++中所有的内存操作归根到底都是对malloc和free的调用, 包括new和delete....分配器allocator是对malloc和free更深层次的包装, 目的是对内存能有更好的分配机制, 尽量减少分配内存时的额外消耗(overhead). allocator的核心函数是包装了malloc..., 如上图维护一串由多个大小不同的内存块组成的链表, 以池分配器的思路对申请的空间进行分配....到了后来GNU-C的4.9版本中allocator又变回了对new和delete的简单封装, 而这种策略被包装到了单独的池分配器pool_alloc中.