深入理解 STL allocator

由于std::set,std::multiset,std::map,std::multimap四种容器的插入删除操作性能高并且自动排序,在很多时候比如需要动态操作时往往会使用它们,然后由于容器内部使用的是节点,每次的插入或删除都要调用new或delete,往往容易造成碎片和性能下降,于是自定义的allocator出现了。

这篇文章的目的就是详细讲解std::allocator的内部结构,为实现自定义的allocator奠基。

 

贴出STL源码,通过增加注释讲解

 

附注:

(1)注意 rebind 结构的使用和作用

(2)Coercion by Member Template 惯用法的使用和作用

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章