std::future<T>::share

< cpp‎ | thread‎ | future
 
 
线程支持库
线程
(C++11)
(C++20)
(C++20)
this_thread 命名空间
(C++11)
(C++11)
(C++11)
互斥
(C++11)
通用锁管理
(C++11)
(C++11)
(C++11)
(C++11)(C++11)(C++11)
(C++11)
(C++11)
条件变量
(C++11)
信号量
闩与屏障
(C++20)
(C++20)
future
(C++11)
(C++11)
(C++11)
(C++11)
 
 
std::shared_future<T> share() noexcept;

转移 *this 的共享状态,若存在,到 std::shared_future 对象。多个 std::shared_future 对象可引用同一共享对象,这对于 std::future 不可能。

std::future 上调用 sharevalid() == false

参数

(无)

返回值

含有先前 *this 所保有的共享状态(若存在)的 std::shared_future 对象,如同以 std::shared_future<T>(std:move(*this)) 构造。

示例

缺陷报告

下列更改行为的缺陷报告追溯地应用于以前出版的 C++ 标准。

DR 应用于 出版时的行为 正确行为
LWG 2556 C++11 share() 要求 valid()true 移除要求并使之为 noexcept

参阅

等待被异步设置的值(可能为其他 future 所引用)
(类模板)