Boost 常用的库
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 常用的库的更多相关文章
- Boost的某些库还是需要生成二进制的库的,必须安装才行,以及使用库的方法
头文件就是库使用者最常问的问题就是“我该怎么安装Boost”,这个也是我一开始最关心的问题,Boost这点做的很好,将大部分实现都封装在头文件里,所以对于一些基本的Boost库,其实是不需要安装的,只 ...
- ios 常用第三方库要加的framework,ARC的设置
一,常用第三方库要加的framework 1,SQLite3数据库:FMDatabase 需要添加:libsqlite3.dylib 2,网络请求:ASIHTTPRequest 需要添加:CFNetw ...
- 【循序渐进学Python】11.常用标准库
安装完Python之后,我们也同时获得了强大的Python标准库,通过使用这些标准库可以为我们节省大量的时间.这里是一些常用标准库的简单说明.更多的标准库的说明,可以参考Python文档 sys 模块 ...
- PHP 常用函数库和一些实用小技巧
PHP 常用函数库和一些实用小技巧 作者: 字体:[增加 减小] 类型:转载 包括文件读取函式,文件写入函式,静态页面生成函式,目录删除函式等 文件读取函式 //文件读取函式 function ...
- IOS学习:常用第三方库(GDataXMLNode:xml解析库)
IOS学习:常用第三方库(GDataXMLNode:xml解析库) 解析 XML 通常有两种方式,DOM 和 SAX: DOM解析XML时,读入整个XML文档并构建一个驻留内存的树结构(节点树),通过 ...
- C语言常用的库文件(头文件、函数库)
C语言常用的库文件(头文件.函数库) C系统提供了丰富的系统文件,称为库文件.C的库文件分为两类,一类是扩展名为".h"的文件,称为头文件,在前面的包含命令中我们已多次使用过.在& ...
- Struts 有哪些常用标签库
Struts 有哪些常用标签库 1.html标签库 2.bean标签库 3.logic标签库
- python 3.x 爬虫基础---常用第三方库(requests,BeautifulSoup4,selenium,lxml )
python 3.x 爬虫基础 python 3.x 爬虫基础---http headers详解 python 3.x 爬虫基础---Urllib详解 python 3.x 爬虫基础---常用第三方库 ...
- 第二章 函数编程&常用标准库
函数编程&常用标准库 ...
随机推荐
- 通过MTK迁移Mysql到EDB实战指南
1.1 迁移准备 下图是Migration toolkit(MTK)可使用的迁移功能 1 查看一下迁移源数据库testdb信息.共三张表 watermark/2/text/aHR0cDovL2Jsb2 ...
- SAP BW: Replacement Path Variables
How to use Replacement Path Variables to perform Date Calculations A Step-by-Step guide Have you eve ...
- 解决python-memcache报错:“Unknown flags on get: 20”
[本文出自天外归云的博客园] 在使用python的pytho-memcache库时出现了一个问题,在调用get方法获取键值的时候报错:Unknown flags on get: 20 在网上查了,发现 ...
- ORA-03297: 文件包含在请求的 RESIZE 值以外使用的数据
本文中的45,对应 修改数据文件大小 里面的45 1.移动表前先对表空间做整理 alter tablespace data_cis_test coalesce; 2.在dba_extents找到与ID ...
- java中自定义注释@interface的用法
一.什么是注释 说起注释,得先提一提什么是元数据(metadata).所谓元数据就是数据的数据.也就是说,元数据是描述数据的.就象数据表中的字段一样,每个字段描述了这个字段下的数据的含义.而J ...
- Spring-boot(二)yml文件的使用
上一章创建了一个简单的springboot项目,配置可以说非常的简单. 不过,在实际开发中不可能都用默认的配置,还是需要根据自己的实际项目需求有自定义的配置的. 比如:端口号需要变更,模板引擎的缓存开 ...
- 【iCore1S 双核心板_ARM】例程十三:SDIO实验——读取SD卡信息
实验现象: 核心代码: int main(void) { /* USER CODE BEGIN 1 */ HAL_SD_TransferStateTypedef State; /* USER CODE ...
- tomcat启动时非常慢,启动时 一直卡在Root WebApplicationContext: initialization completed
每次重启自己的服务tomcat都需要卡住很长时间,每次都是日志停在 Root WebApplicationContext: initialization completed in 744 ms这个地方 ...
- Python内置类型——dict
Python中, 字典是容器,所以可以使用len()方法统计字典中的键值对的个数: 字典是可迭代的,迭代的依据是字典中的键. in, not in 等运算符判断指定的键是否在字典中: 如果索引一个字典 ...
- 阿里云ECS服务器主机安装多个网站
web|服务器|站点 Windows 2000 Server安装成功后,一般会启动一个默认的Web站点,为整个网络提供Internet服务.在中小型局域网中,服务器往往只有一台,但是一个Web站点显然 ...