std::shared_future<T>::get

来自cppreference.com

 
 
并发支持库
线程
(C++11)
(C++20)
(C++20)
this_thread 命名空间
(C++11)
(C++11)
(C++11)
原子类型
(C++11)
(C++20)
原子类型的初始化
(C++11)(C++20 中弃用)
(C++11)(C++20 中弃用)
原子操作的自由函数
原子标志的自由函数
内存序
互斥
(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)
 
 
const T& get() const;
(1) (仅为泛型 shared_future 模板的成员)
(C++11 起)
T& get() const;
(2) (仅为 shared_future<T&> 模板特化的成员)
(C++11 起)
void get() const;
(3) (仅为 shared_future<void> 模板特化的成员)
(C++11 起)

get 方法等待直至 shared_future 拥有合法结果并(依赖于使用哪个模板)获取它。它等效地调用 wait() 等待结果。

泛型模板和二个模板特化各含单个 get 版本。 get 的三个版本仅在返回类型有别。

若调用此函数前 valid()false 则行为未定义。


参数

(无)

返回值

1) 到存储于共享状态的值的 const 引用。销毁共享状态后,通过此引用访问值是未定义行为。
2) 存储于共享状态的值的引用。
3) 无。

异常

若 future 所引用的共享状态中存储异常(例如,通过调用 std::promise::set_exception() ),则抛出该异常。

注意

鼓励实现在调用前检测 valid()false 的情况,并抛出以 std::future_errc::no_state 为 error_condition 的 std::future_error

示例

参阅

检查 future 是否拥有共享状态
(公开成员函数)