2

在 C++23 中,采用了单子操作 in std::optional,后来又采用了std::expected. 为什么像and_then,transform和之类的单子操作or_else没有包含在主要论文中?

4

1 回答 1

2

这个std::expected提议很老了。采用的修订版是 P0323R12,它已经表明使用寿命很长,但该论文甚至早于 P 编号系统,并以N4015 开头,日期为 2014 年 5 月。

我之所以提出这个问题,是因为std::expected即便就其本身而言,也需要很长时间才能完成整个过程。相比之下,纸张的一元操作仅在2017 年 10 月std::optional才首次出现。从那时起,这只是一个漫长的努力,只是为了得到。std::expected

有一篇论文提出了 monadic 操作,即P2505R0 但此时它非常不完整,需要做很多工作。新 C++23 功能的设计窗口已关闭,但如果以后有 NB 评论要求它,我不会感到惊讶。std::expected

至少我们终于有了std::expected

于 2022-02-09T06:12:06.060 回答