命名空间
变体
操作

std::shared_future<T>::get

来自 cppreference.com
 
 
并发支持库
线程
(C++11)
(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++20)
(C++20)
期货
(C++11)
(C++11)
(C++11)
(C++11)
安全回收
(C++26)
危险指针
原子类型
(C++11)
(C++20)
原子类型的初始化
(C++11)(C++20 中已弃用)
(C++11)(C++20 中已弃用)
内存排序
原子操作的自由函数
原子标志的自由函数
 
 
主要模板
const T& get() const;
(1) (自 C++11 起)
std::shared_future<T&> 特例化
T& get() const;
(2) (自 C++11 起)
std::shared_future<void> 特例化
void get() const;
(3) (自 C++11 起)

get 成员函数等待(通过调用 wait())直到共享状态就绪,然后检索存储在共享状态中的值(如果有)。

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

内容

[编辑] 返回值

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

[编辑] 异常

如果在期货引用的共享状态中存储了异常(例如,通过调用 std::promise::set_exception()),那么将抛出该异常。

[编辑] 注意

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

[编辑] 示例

[编辑] 另请参阅

检查期货是否具有共享状态
(公有成员函数) [编辑]