# std::promise<R>::get_future

< cpp‎ | thread‎ | promise

std::future<T> get_future(); |  | (C++11 起)

返回与 *this 关联同一状态的 future 对象。

若 *this 无共享状态，或已调用 `get_future` 则抛出异常。可使用 std::future::share 以获取 promise-future 交流通道的多个“弹出”端。

对此函数的调用与对 set_value 、 set_exception 、 set_value_at_thread_exit 或 set_exception_at_thread_exit 的调用不造成数据竞争（但它们不必彼此同步）。

### 参数

（无）

### 返回值

指代 *this 的共享状态的 `future` 。

### 异常

遇到下列条件时抛出 std::future_error ：

- *this 无共享状态。设置 error_category 为 `no_state` 。

- 已在与 *this 拥有同一共享状态的 promise 上调用 `get_future()` 。设置 error_category 为 `future_already_retrieved` 。