1. test 驱动学习 tinyXML2, 画出类图,时序图 完成重构,学会Dll构建,发布
1) learn "C++ memory Pool" of tinyXML and an open source at http://www.codeproject.com/Articles/15527/C-Memory-Pool
最近一直在思考Memory Pool 的内存整理问题。因为我看了几个demo 都是第一次申请一大块内存区域,然后分配大量同类型对象,最后一次性释放掉所有对象。
自然地,我们会思考内存整理的问题。例如:在meory pool申请了100个对象,但是现在我有其中大部分不再需要使用了,我怎么能够释放这些不再需要的对象。
好像简单的Memory Pool实现没有提供这种不分对象析构的问题。
今晚,看了一下 boost/pool ,发现object_pool 提供了free 函数,这种“内存整理”功能可以实现。整理时候有对象移动,可能会影响性能。不提倡用户使用。
我打算用 c++标准库 + boost/pool 库重写 tinyXML2。目标是满足完备性,可读性,可扩展性。这是今天意外的收获!
fighting, fighting...
2)