std::future::then() 和并发 TS 在哪里?

Ras*_*sen 10 c++ c++20

在 google 上搜索 std::future::then 时,最上面的结果是关于 c++17 中函数状态的 stackoverflow 问题。现在 c++20 已经完成并且 Clang 和 GCC 正在很好地实现 c++20,我想知道函数和并发 TS 的状态一般是什么?

libc++libstdc++的实现状态页面cppreference 维护的实现状态页面上没有提到它),并且cppreference上的TS 页面没有说明当前状态。

我还尝试在Godbolt上运行一些非常简单的示例,但都无法找到 <experimental/future>,而不是因为它已移至 <future> 标头(都找不到 future::then。

此外,互联网并不是特别有用。至少我只能找到博客文章从1-2年前谈到“希望”来获得并发TS在C + + 20,但无法找到新的C ++ 20个功能(众多概述任何提到一个 例子

并发 TS 是否已删除?

Bar*_*rry 10

并发 TS 是否已删除?

是的。

P1445讨论了这个,SG1 投票撤回了 TS。需要注意的是原子智能指针,锁存器,和障碍在C ++ 20。

就改进future而言,那里的方向称为executors,目前正在迭代的设计是P0443,它允许以比future::then. 两位作者在CppCon上就这个问题进行了一次演讲,对这些问题进行了很好的探讨。

  • 哦该死,太糟糕了。我期待着一种未来化的架构,就像[本演讲](https://www.youtube.com/watch?v=js-e8xAMd1s)中描述的标准化 C++ 中所描述的那样,但没有 .then 和 .when_all (以及相关的支持) for co_await),我想这必须等待。感谢你的回答! (3认同)
  • 所以我们没有 future::那么在 C++20 中,C++23 中的执行器也没有... (3认同)