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库并进行了预编译,这是项目中唯一的'取巧'之处。