The Best C++ Library
10 months ago
- #Programming
- #C++
- #Standard Library
- 作者批评C++标准库过时、冗长且难用,指出关联容器、`std::optional`、`std::variant`和迭代器对等问题
- 他们提出名为`best`的新C++库,作为标准库的现代化替代方案,设计理念借鉴Rust、Go等语言
- `best`包含基础组件:类型特征、元编程工具和代数数据类型(`best::row`、`best::choice`、`best::option`、`best::result`)
- 内存和指针操作由`best::ptr`、`best::box`和`best::span`处理,相比原生指针和`std::span`提供更安全直观的API
- 迭代器系统模仿Rust的`Iterator`特性,提供更符合人体工学的序列操作方式
- 堆容器如`best::vec`和哈希表`best::table`采用小向量优化设计并支持自定义分配器
- 文本处理以UTF-8为核心,`best::str`和`best::strbuf`提供完整Unicode支持和编码灵活性
- 通过类Rust的`format!`宏实现格式化,支持编译期格式字符串校验和用户自定义类型扩展
- 反射功能可内省结构体和枚举字段,支持聚合类型默认格式化等通用操作
- 库内集成无宏设计的单元测试框架(`best::test`)和命令行解析器(`best::cli`)
- 未来计划增加同步原语、I/O、数学库、SIMD支持以及信号/网络等操作系统API
- 作者将`best`视为C++改进方向的实践验证,虽不预期其会被广泛采用