std::shared_future<T>::get

来自cppreference.com
 
 
并发支持库
线程
(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++20)
(C++20)
未来体
(C++11)
(C++11)
(C++11)
(C++11)
安全回收
(C++26)
(C++26)
风险指针





原子类型
(C++11)
(C++20)
原子类型的初始化
(C++11)(C++20 中弃用)
(C++11)(C++20 中弃用)
内存定序
原子操作的自由函数
原子标志的自由函数
 
 
主模板
const T& get() const;
(1) (C++11 起)
T& get() const;
(2) (C++11 起)
std::shared_future<void> 特化
void get() const;
(3) (C++11 起)

get 成员函数在共享状态准备就绪前(通过调用 wait())等待,然后获取共享状态中存储的值(如果存在)。

如果在调用此函数前 valid()false,那么行为未定义。

返回值

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

异常

如果未来体所引用的共享状态中存储了异常(例如,通过调用 std::promise::set_exception()),那么就会抛出该异常。

注解

C++ 标准建议实现在调用前检测 valid()false 的情况,并抛出以 std::future_errc::no_state 作为错误条件的 std::future_error

示例

参阅

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