首页 > 解决方案 > std::future::then() 和并发 TS 在哪里?

问题描述

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

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

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

此外,互联网并不是特别有用。至少我只能找到1-2 年前关于“希望”在 c++20 中获得并发 TS 的博客文章,但在许多关于 c++ 20 新特性 概述中找不到任何提及(一些 示例.

并发 TS 是否已被删除?

标签: c++c++20

解决方案


并发 TS 是否已被删除?

是的。

P1445讨论了这一点,SG1 投票撤回了 TS。请注意,原子智能指针、锁存器和屏障C++20 中。

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


推荐阅读