为什么C++17中没有std::future::then?

16

boost::future 有一个成员函数:boost::future::then,而 std::future 没有 std::future::then

这篇 精彩的文章 展示了 std::future::then 会有多么有用。

C++17 为什么没有 std::future::then

这是因为疏忽还是其他原因呢?


4
Herb Sutter提出了这个功能的建议。我不知道是否已经被接受。 - Nawaz
也许您可以查看这个讨论 - 它可能会更好地解释:https://dev59.com/yWIk5IYBdhLWcg3wfOOe - serup
看起来未来的期货存在疑问。可等待的期货可能不在标准范围内,我们可能需要依赖其他库,如boost或folly:https://www.modernescpp.com/index.php/a-short-detour-executors - jman
1个回答

21

.then支持被纳入了在2016年初完成的Concurrency TS中。尽管对于Concurrency TS的实现缺乏实际经验,而且距离C++17需要具备所有功能还剩下很少的时间,所以它没有被添加进去。事实上,由于时间来不及,甚至没有提议将其加入到C++17。


6
太难过了,“连续剧式”的风格非常有用。 - barney
25
为什么它没有被加入C++20? - Andriy Tylychko
C++20. std::future::then() 和并发 TS 在哪里? - anton_rh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接