/*条款55:让自己熟悉Boost*/
/*
boost是一个c++开发者集结的社群
如果你想把你准备好的程序库加入boost里要考虑以下内容
1 这一份设计和实现有多好?
2 这些代码可跨编译器和操作系统吗?
3 这个程序库有可能被它所设定的目标用户使用吗?
4 文档是否清楚,齐备,而且精确?
boost 程序库对付的主题非常繁多 区分数十个类目包括:
1 字符串与文本处理,覆盖具备类型安全的printf格式化动作,正则表达式和解析
2 容器,覆盖“接口与STL相似且大小固定”的数组,大小可变的bitsets以及多维数组
3 函数对象和高级编程 lambda
using namespace boost::lamda;
std::vector<int> v;
//..
std::for_each(v.begin(),v.end(),std::cout<<_1*2+10<<"\n");
其中_1 是lambda程序库占位符号
4 泛型编程
5 模板元编程
6 数学和数值 有理数,八元数,四元数 常见公约数,少见的多重运算,随机数
7 正确性与测试 覆盖用来将隐式模板接口形式化的程序库,以及针对测试优先编程形态而设计的措施
8 数据结构,覆盖类型安全的unions
9 语言间的支持 包括c++与python之间的无缝互操作性
10 内存 覆盖pool程序库,用来做出高效率而区块大小固定的分配器,以及多变化的智能指针
11 杂项 包括CRC检验,日期和时间的处理,在文件系统上来回移动等等
// 这只是其中的样本
*/
条款55:让自己熟悉Boost
最新推荐文章于 2022-08-19 01:23:27 发布