Hasty Briefsbeta

双语

Writing your own C++ standard library, part 2

a year ago
  • #Programming
  • #C++
  • #Standard Library
  • 这篇博客讨论了一个自研的C++标准库实现,明确指出它并非ISO标准实现,而是一组底层函数集合。
  • 关于是否该将C++标准库称为'STL'引发了争论,部分人认为这种称呼不正确,但包括实现者在内的许多人仍在使用该术语。
  • 作者通过要求类型必须是noexcept可移动的,简化了容器实现,消除了对'不良'类型的复杂处理。
  • 针对不符合良好行为的类型,建议使用unique_ptr或编写自定义容器代码来处理。
  • 文章探讨了C++中字符串分割的不同实现方案,最终选择回调函数方式以获得更好的通用性。
  • 通过optional<T>在C++中实现了类似Python的迭代协议,但与原生循环的整合仍存在挑战。
  • 该库包含字符串、正则表达式和容器等基础功能,并具有快速的编译速度。
  • 正则表达式处理采用CTRE库并进行了预编译,这是项目中唯一的'取巧'之处。