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还有剩余的一些库没罗列,它们使用的可能很小

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Boost是一个功能强大的C++集合,提供了许多常用的函数和模块。以下是一些常用Boost函数: 1. 字符串和文本处理Boost提供了丰富的字符串处理功能,比如lexical_cast用于数值转换,format用于字符串格式化,string_algo用于字符串算法。 2. 类型推导:Boost提供了BOOST_AUTO和BOOST_TYPEOF用于类型推导,可以方便地获取表达式的类型。 3. 智能指针:Boost提供了多种智能指针,如scoped_ptr、shared_ptr、weak_ptr等,用于管理动态分配的内存。 4. 数组和容器:Boost提供了多维数组multi_array、动态多维数组、普通数组array、散列容器unordered_set、unordered_map、双向映射容器bimap、环形缓冲区circular_buffer等,方便了数组和容器的操作和管理。 5. XML和JSON解析:Boost提供了property_tree模块,可用于解析和处理XML和JSON数据。 6. 简化循环:Boost提供了BOOST_FOREACH宏,可用于简化循环操作。 7. 随机数Boost提供了Random模块,用于生成随机数。 8. 引用Boost提供了ref模块,用于处理引用。 9. 绑定Boost提供了bind模块,用于函数对象的绑定。 10. 线程Boost提供了thread模块,用于跨平台多线程编程。 这些只是Boost的一部分常用函数,Boost还有许多其他功能和模块可供使用。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [C++ Boost:工厂函数 make_shared](https://blog.csdn.net/u014779536/article/details/116400788)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [【BOOST C++BOOST C++20个分类指南](https://blog.csdn.net/gongdiwudu/article/details/127961836)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值