effective C++ 条款 55:让自己熟悉boost

高质量,源码开放、平台独立、编译器独立的程序库。 http://boost.org,它和c++标准委员会之间有着独一无二的密切关系,并对委员会深具影响力。它以公开进行的同僚复审(public peer review)为基础接纳程序库。

boost对付的主题非常繁多,包括:

字符串与文本处理

容器

函数对象和高级编程

lambda,可以让我们轻松的随时随地创建函数对象

using namespace boost::lambda;                                                    //让boost::lambda的机能曝光
std::vector<int> v;
std::for_each(v.begin(), v.end(), std::cout << _1*2 +10 << "\n");        //针对v中的每一元素x,印出x*2+10;
//其中“_1”是lambda程序库针对当前元素的一个占位符号(placeholder)

泛型编程

模板元编程

//list-like编译期容器,收纳三个类型:
//(float,double, long double),
typedef boost::mpl::list<float, double, long double> floats;
//在创建一个编译期间用以收纳类型的list, 以“floats”内的类型为基础
//最前面再加上“int”。新容器取名叫“types”
typedef boost::mpl::push_front<floats, int>::Type types;

数学和数值

正确性测试,覆盖用来将隐式模板接口(implicit template interface,见条款41)形式化的程序库,以及针对“测试优先”编程形态而设计的措施。

数据结构,tuple程序库

语言间的支持,包括允许c++和python间的无缝互操作性。

内存,覆盖pool程序库,用来作出高效率而区块大小固定的分配器,以及多变化的智能指针,包括tr1的智能指针。non-tr1智能指针scope_array,那是个auto_ptr-like智能指针,用来动态分配数组。条款44有其用法。

杂项,包括crc检验、日期和时间处理等等

 

原文链接: https://www.cnblogs.com/lidan/archive/2012/02/20/2359046.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    effective C++ 条款 55:让自己熟悉boost

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/42060

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月8日 下午6:52
下一篇 2023年2月8日 下午6:52

相关推荐