Boost

“C++ 的准标准库”——Boost 是 C++ 社区最重要的第三方库集合,包含 150+ 个库。许多 Boost 库最终被采纳为 C++ 标准(如智能指针、线程、filesystem、any、variant、optional 等)。每个库独立,可以按需使用。

核心组件

组件说明已进标准?
Boost.Asio异步 I/O 和网络编程C++26
Boost.BeastHTTP/WebSocket 基于 Asio
Boost.Spirit解析器生成框架 (PEG)
Boost.Filesystem跨平台文件操作C++17
Boost.SmartPtrshared_ptr / intrusive_ptrC++11
Boost.ProgramOptions命令行参数解析
Boost.PropertyTree树形配置数据 (XML/JSON/INI)
Boost.Algorithm丰富算法扩展部分
Boost.Hana编译期元编程
Boost.MultiIndex多索引容器

何时使用

  • 需要标准库之外的通用功能
  • 几乎所有大型 C++ 项目都依赖至少部分 Boost 组件
  • 标准化的组件应尽量用 std 替代

关键特性

准标准、组件极全、高代码质量、跨平台、大部分 header-only

注意

Boost 是”瑞士军刀”但不是”轻量”,编译时间和二进制体积都较大。

相关链接

  • fmt — 标准化前的格式化库
  • Abseil — Google 基础库
  • Folly — Facebook 高性能库
  • Boost.Asio — Boost 的网络模块
  • (搜索: Boost C++)