深入理解 STL allocator

由於std::set,std::multiset,std::map,std::multimap四種容器的插入刪除操作性能高並且自動排序,在很多時候比如需要動態操作時往往會使用它們,然後由於容器內部使用的是節點,每次的插入或刪除都要調用new或delete,往往容易造成碎片和性能下降,於是自定義的allocator出現了。

這篇文章的目的就是詳細講解std::allocator的內部結構,爲實現自定義的allocator奠基。

 

貼出STL源碼,通過增加註釋講解

 

附註:

(1)注意 rebind 結構的使用和作用

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

 

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