C++26: range support for std:optional
7 months ago
- #std::optional
- #C++
- #Ranges
- std::optional的新范围API允许对可选值进行迭代,循环执行零次或一次。
- 基于范围的方法将std::optional无缝集成到范围管道中,消除了手动空值检查。
- 虽然考虑了views::maybe和views::nullable等竞争提案,但最终选择std::optional的范围接口以实现简洁性。
- std::optional现在特化了std::ranges::enable_view,使其成为最多包含一个元素的视图。
- std::optional的迭代器类型由实现定义,以确保安全性和简单性。
- 新接口增强了与其他范围操作的组合能力,而无需引入新类型。