Stdext Allocators Graph

这两幅图很棒,具参考意义,转帖下。出处:http://blog.krzycube.net/stdext-allocators-graph/

 

---

 

从2006年到2009年初,虽然WINX的作者(@xushiwei)大多时间就在我身边,不过我一直对这东西兴趣缺缺。当然我的懒惰占了95%以上的原因,另外1%是因为一直在做后台,所以不怎么会想起WINX,即便偶尔写个小工具我也会对比以后放弃ManyFunctionClass选择WTL。剩下那4%嘛,这东西缺乏文档一直让我耿耿于怀,而作者号称由于他没有漂亮的秘书mm,所以一直没空弄文档。不过WINX代码库并不仅仅是GUI界面库那么单调,其中还包含了一个彪悍的库stdext,不管写后台还是前端,这东西都是一等利器。(stdext中allocators相关的代码已经进入BOOST的Sandbox,因此名字空间里会看到BOOST相关的信息)

 

如今我跟它的作者再聚首一起干活,大量使用stdext,不过这东西还是没文档,注释也基本没有,虽说有活字典在身边,不过还是挺让我抑郁的。考虑到招漂亮秘书一时半会儿的是实现不了了,只好自己来造文档,从号称最核心最有价值的地方开始,内存管理 — Allocators关系图.

 

 

图1:普通的SystemAlloc Policy版本, SystemAlloc本身是对标准分配器的封装,但在这里组合使用时,表现得更像是个Policy。

  

 

 

 

图2:BlockPool Policy版本,BlockPool实现上是来自SystemAlloc的组合

 

typedef block_alloc<NS_BOOST_MEMORY_POLICY::sys> block_pool;  

 

 

由它表现为下面其他组合出来的Allocators的Policy。有了BlockPool的最大优势在于,allocators可以是scoped了。

 

 

这两个图已经添加至Stdext的代码库中,可以在此目录下看到。更多的关于这些分配器的资料,可以参见作者blog里的内存管理系列。不过由于版本变化,那些文章实际上已经不与最新代码对应,只是表意。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值