boost是一系列C++模板库组成的免费,可移植,开源的程序库.网络上关于boost的文章已经很多. 
    这里摘记一些库的信息,供自己日后参考. 

0.foreach -
BOOST_FOREACH 宏可以很容易地遍历一个序列的所有元素 
      PS:   非常优秀,值得参考使用. 
1.bind and mem_fn -
泛型绑定器,用于函数/对象/指针和成员函数 
      PS:  非常优秀,高效率,值得参考使用. 
2.asio -
可移植的网络和其它底层I/O,包括 sockets, 定时器, 主机名解释,socket 输入输出流,串行端口,文件描述符和 Windows HANDLEs 
       PS: 很优秀,值得参考使用. 
3.smart_ptr -
五种智能指针类模板 
      PS:  shared_ptr很不错. 
4.signals -
可管理的信号和插槽回调实现 
signals2 -
可管理的信号和插槽回调实现(线程安全的版本2) 
      PS:  还不错. 
5.function -
延期调用和回调的函数对象包装 
      PS:  不错. 
6.assign -
以从所未有如此容易的方法将常数或生成的数据填入容器 
      PS: 方便操作C++容器,值得使用. vector v;  v+=1,2,3,4,5; 
7.string_algo -
字符串算法库 
      PS:  非常优秀,值得使用和参考 
8.regex -
正则表达式库 
      PS:  有点意思,但个人使用正则机会不多. 
9.property tree -
一个树型数据结构,尤其适合于保存配置数据 
      PS:  有点意思. 
10.lexical_cast -
通用的字面文本转换,如:将 int 表示为字符串,或反之 
      PS:  对stringstream的包装而已. 看个人习惯了,如果习惯了多敲几行stringstream代码,就没必要用这个. 
11.optional -
任意值的可区别联合包装

PS:  想法很好,值得使用, 不过optional<bool> 是个硬伤,个人觉得由于其语义已经完全不同了, 应该设法禁用或者严格区别开来; 但作者并没这样做.

12.tuple - 更易于定义返回多个数值的函数,

      PS:  很有意思.值得使用

13.tokenizer - 将一个字符串或其它字符序列分解为一系列记号

      PS:  有点意思.

14.filesystem - 可移植的路径、目录遍历和其它有用的文件系统操作

       PS:  有点意思,可以考虑.

15.python - 将C++的类和函数反射到 Python,  

      PS:  未研究,不过网上推荐很高.我会挤出时间研究的.

thread - 可移植的C++多线程 

PS:  暂时还不成熟

operators - 用模板来简化算术类和迭代器

      PS:  有点意思.但使用机会还是不多.

date_time - 日期-时间库, 
      PS:  很全,但细节太多,怪异.... 
utility - 类 noncopyable 和 checked_delete(), checked_array_delete(), next(),  prior() 函数模板,再加上 base-from-member
idiom, 
      PS:  有点意思. 
crc - 循环冗余码, 
      PS:  值得参考使用. 
tribool - 三态布尔类型库. 
      PS:  用处不大 
timer - 事件定时器,进度计时器,以及进度显示类 
      PS: 未研究     
pool - 内存池管理. 
      PS:  有点意思. 
exception - 用于在异常对象中传送任意数据的库,可以在线程间传送异常(N2179) 
      PS:  使用C++异常时,可以修改异常信息,个人用处不大. 
flyweight - 管理大量高度冗余的对象的一个设计模式 
       PS:  未研究. 
test - 支持简单的程序测试、全单元测试,以及程序执行监控. 
       PS:  未研究. 
system - 操作系统支持,包括即将成为 C++0x 标准库组成部分的诊断支持 
program_options - 存取来自命令行、配置文件或其它来源的配置数据 
      PS:  不那么好用. 
interprocess - 共享内存、内存映射文件、进程共享互斥体、条件变量、容器和分配器 
      PS:  未研究 

hash - 一个 TR1 的散列函数对象,可以扩展为对用户定义类型进行散列 
      PS:  不错. 
any - 保存具有不同值类型的单个值的一种安全、泛型的容器 
        PS: 用处不大. 
variant - 安全、泛型、基于栈的可识别联合的容器 
      PS:  个人用处不大. 
unordered - 无序关联式容器 
      PS:  未研究 
array - 兼容STL的容器,是固定大小的数组的包装 
      PS: 用处不大. 
bimap - 双向 maps. 
      PS:  编译代价貌似很大? 
dynamic_bitset - 一个在运行期可变大小的 std::bitset 版本 
      PS: 个人用处不大. 

compressed_pair - 空成员优化

      PS: 个人用处不大.

intrusive - 插入式的容器和算法

      PS: 个人用处不大.

前16个真的很不错, boost还有剩余的一些库没罗列,它们使用的可能很小

Boost 常用的库的更多相关文章

  1. Boost的某些库还是需要生成二进制的库的,必须安装才行,以及使用库的方法

    头文件就是库使用者最常问的问题就是“我该怎么安装Boost”,这个也是我一开始最关心的问题,Boost这点做的很好,将大部分实现都封装在头文件里,所以对于一些基本的Boost库,其实是不需要安装的,只 ...

  2. ios 常用第三方库要加的framework,ARC的设置

    一,常用第三方库要加的framework 1,SQLite3数据库:FMDatabase 需要添加:libsqlite3.dylib 2,网络请求:ASIHTTPRequest 需要添加:CFNetw ...

  3. 【循序渐进学Python】11.常用标准库

    安装完Python之后,我们也同时获得了强大的Python标准库,通过使用这些标准库可以为我们节省大量的时间.这里是一些常用标准库的简单说明.更多的标准库的说明,可以参考Python文档 sys 模块 ...

  4. PHP 常用函数库和一些实用小技巧

    PHP 常用函数库和一些实用小技巧 作者: 字体:[增加 减小] 类型:转载   包括文件读取函式,文件写入函式,静态页面生成函式,目录删除函式等   文件读取函式 //文件读取函式 function ...

  5. IOS学习:常用第三方库(GDataXMLNode:xml解析库)

    IOS学习:常用第三方库(GDataXMLNode:xml解析库) 解析 XML 通常有两种方式,DOM 和 SAX: DOM解析XML时,读入整个XML文档并构建一个驻留内存的树结构(节点树),通过 ...

  6. C语言常用的库文件(头文件、函数库)

    C语言常用的库文件(头文件.函数库) C系统提供了丰富的系统文件,称为库文件.C的库文件分为两类,一类是扩展名为".h"的文件,称为头文件,在前面的包含命令中我们已多次使用过.在& ...

  7. Struts 有哪些常用标签库

    Struts 有哪些常用标签库 1.html标签库 2.bean标签库 3.logic标签库

  8. python 3.x 爬虫基础---常用第三方库(requests,BeautifulSoup4,selenium,lxml )

    python 3.x 爬虫基础 python 3.x 爬虫基础---http headers详解 python 3.x 爬虫基础---Urllib详解 python 3.x 爬虫基础---常用第三方库 ...

  9. 第二章 函数编程&常用标准库

    函数编程&常用标准库                                                                                       ...

随机推荐

  1. JUnit+Mockito结合测试Spring MVC Controller

    [本文出自天外归云的博客园] 概要简述 利用JUnit结合Mockito,再加上spingframework自带的一些方法,就可以组合起来对Spring MVC中的Controller层进行测试. 在 ...

  2. SILK 预测模块分析

    SILK是一种新结构的基于噪声整形量化算法的编解码框架.不同于类CELP的AMR,EVRC,G729,Speex等标准. 类CELP的结构都是以码本激励为量化框架的编码器.但是这里并不讨论NSQ结构和 ...

  3. [转]Object.keys()和for in的排序问题

    原文地址:https://www.jianshu.com/p/a086ff48be6e Object.keys()和for in 具有相同的排列顺序 如果属性名的类型是Number,那么Object. ...

  4. .net core实现跨域

    什么是跨域在前面已经讲解过了,这里便不再讲解,直接上代码. 一.后台API接口 用.net core创建一个Web API项目负责给前端界面提供数据. 二.前端界面 建立两个MVC项目,模拟不同的ip ...

  5. Java知多少(70)面向字节流的应用

    文件输入输出流 文件输入输出流 FileInputStream 和 FileOutputStream 负责完成对本地磁盘文件的顺序输入输出操作. [例 10-5]通过程序创建一个文件,从键盘输入字符, ...

  6. R语言中的横向数据合并merge及纵向数据合并rbind的使用

    R语言中的横向数据合并merge及纵向数据合并rbind的使用 我们经常会遇到两个数据框拥有相同的时间或观测值,但这些列却不尽相同.处理的办法就是使用merge(x, y ,by.x = ,by.y ...

  7. Sword redis存取二进制数据

    #include "hiredis/hiredis.h" /* redis头文件 */ #include <stdio.h> #include <stdlib.h ...

  8. mysql添加字段并且设置默认值

    ALTER TABLE task ADD uploadStatus TINYINT(4) DEFAULT '0' COMMENT '上传状态';

  9. VS Release模式调试

    c++ -> 常规 -〉调试信息格式 选 程序数据库(/Zi)或(/ZI) c++ -> 优化 -〉优化 选 禁止(/Od) 连接器 -〉调试 -〉生成调试信息 选 是 (/DEBUG)

  10. linux(centos) 添加系统环境变量

    系统环境变量,其实就就是一个添加至系统环境中的路径变量. 编译php的扩展时经常会在扩展包源码目录里执行phpize,每次执行的时候都要敲入一大堆目录,诸如:/usr/local/php/bin/ph ...