std::experimental::future<T>:: future
From cppreference.net
<
cpp
|
experimental
|
future
|
future
(
)
noexcept
;
|
(1) | |
|
future
(
std::
experimental
::
future
<
T
>
&&
f
)
noexcept
;
|
(2) | |
|
future
(
const
std::
experimental
::
future
<
T
>
&
)
=
delete
;
|
(3) | |
|
future
(
std::
experimental
::
future
<
std::
experimental
::
future
<
T
>>
&&
other
)
noexcept
;
|
(4) | |
1)
默认构造函数。构造一个空的
future
对象,该对象不引用任何共享状态。
2)
构造一个
future
对象,转移
f
所持有的共享状态(如果存在)。构造完成后,
f.
valid
(
)
为
false
。
3)
复制构造函数被删除。
future
不可复制。
4)
解包构造函数。从
other
所引用的共享状态(如果存在)构造一个
future
对象。如果在调用前
other.
valid
(
)
==
false
,则构造的
future
对象为空。否则,当以下任一情况发生时,生成的
future
对象将变为就绪状态:
-
other
和
other.
get
(
)
均处于就绪状态。此时
other.
get
(
)
的值或异常将存储在与生成的
future对象关联的共享状态中。 -
other
已就绪,但
other.
get
(
)
无效。此时会将一个错误条件为
std::future_errc::broken_promise
的
std::future_error
类型异常存储在与生成的
future对象关联的共享状态中。
此构造函数返回后,
valid
(
)
的值等于调用前
other.
valid
(
)
的值,且
other.
valid
(
)
==
false
。
目录 |
参数
| f | - | 用于初始化的另一个 future 对象 |
| other | - |
要展开的
std::experimental::future
对象
|
示例
|
本节内容不完整
原因:缺少示例 |
缺陷报告
下列行为变更缺陷报告被追溯应用于先前发布的 C++ 标准。
| DR | 适用范围 | 发布时的行为 | 正确行为 |
|---|---|---|---|
| LWG 2697 | Concurrency TS |
解包构造函数在遇到无效
future
时的行为不明确
|
构造一个空的
future
|
参见
|
构造 future 对象
(
std::future<T>
的公开成员函数)
|