随笔-1  评论-0  文章-3  trackbacks-0
  2010年5月20日

    前段时间boost release了1.43.0版本,一直没有时间细看,今天抽空了解一下,很失望,感觉最近boost都没有激动人心的改动了。有两个小品级的新库加进来,还有一些改进。

    本次增加的库是Functional/Factory 和 Functional/Forward。
   
Factory提供了一套机制帮你生成工厂仿函数,在你需要生成类工厂的时候,可以节省你的代码。Factory提供了在栈上面创建和在堆上面创建对象两种方式,并支持自定义allocator,其原理十分简单,代码也很少。
   
Forward为函数对象提供了一个可重用的适配器模板用于转发,并在转发时,保持参数中的右值参数为常量引用,左值参数则保持其左值性。这样方便我们在模板中透明的转发函数调用而保持参数的左右值特性。

    更新涉及到较多的库,但都不是太令人关注,大致看了一下,主要有这些:
   
Range库将最近review通过的RangeEx的改进包含了进来,完整支持了STL迭代器的算法,增加了一些新算法函数。
    Asio改善了性能,减小了生成代码的尺寸,并提高了编译速度,貌似优化得颇有成效。还有一大堆增强和bug修复。
    另外Accumulators,Array,Fusion,Iostreams,Multi-index Containers,Proto,Random,Spirit,Thread,Unordered,Uuid,Wave,Xpressive都有一些小改动。

    顺便说一下,Boost.Log通过了review,被暂时的(provisionally)接受了,据说很好用,但是还是存在不少问题,包括性能上和易用性上矛盾等,估计还要大修,看来得一段时间后才能用得上正式版的了。还是比较期待的,因为C++里面真正好用的logging很难找,例如log4cpp、log4cxx等都有各自的问题,且不够“标准”。

posted @ 2010-05-20 15:47 邵有石 阅读(333) | 评论 (0)编辑 收藏
仅列出标题