命名空间
变体
操作

std::experimental::promise<R>::promise (library fundamentals TS)

来自 cppreference.cn
 
 
实验性
技术规范
文件系统库 (filesystem TS)
库基础 (library fundamentals TS)
库基础 2 (library fundamentals TS v2)
库基础 3 (library fundamentals TS v3)
并行性扩展 (parallelism TS)
并行性扩展 2 (parallelism TS v2)
并发性扩展 (concurrency TS)
并发性扩展 2 (concurrency TS v2)
概念 (concepts TS)
范围 (ranges TS)
反射 (reflection TS)
数学特殊函数 (special functions TR)
实验性非TS
模式匹配
线性代数
std::execution
契约
2D图形
 
 
 
promise();
(1) (library fundamentals TS)
template< class Alloc >
promise( std::allocator_arg_t, const Alloc& alloc );
(2) (library fundamentals TS)
promise( promise&& other ) noexcept;
(3) (library fundamentals TS)
promise( const promise& other ) = delete;
(4) (library fundamentals TS)

构造一个 std::experimental::promise 对象。

1) 默认构造函数。构造一个具有空共享状态的 promise。
2) 构造一个具有空共享状态的 promise。共享状态使用 alloc 分配,alloc 被视为类型擦除分配器(见下文)。
3) 移动构造函数。使用移动语义构造具有 other 的共享状态的 promise。构造后,other 不再具有共享状态。
4) std::experimental::promise 不可复制。

[编辑] 类型擦除分配器

接受分配器参数 allocpromise 的构造函数将该参数视为类型擦除分配器。promise 用于分配内存的内存资源指针通过以下方式使用分配器参数(如果指定)确定:

alloc 的类型 内存资源指针的值
不存在(构造时未指定分配器) 构造时 std::experimental::pmr::get_default_resource() 的值。
std::nullptr_t 构造时 std::experimental::pmr::get_default_resource() 的值。
可转换为指针类型的
std::experimental::pmr::memory_resource*
static_cast<std::experimental::pmr::memory_resource*>(alloc)
std::experimental::pmr::polymorphic_allocator 的特化
std::experimental::pmr::polymorphic_allocator
alloc.resource()
满足 Allocator 要求的任何其他类型 指向类型为 std::experimental::pmr::resource_adaptor<A>(alloc) 的值的指针,其中 Aalloc 的类型。指针仅在 promise 对象的生命周期内保持有效。
以上都不是 程序是非良构的。

[编辑] 参数

alloc - 用于分配共享状态的分配器
other - 另一个 std::experimental::promise,从中获取状态

[编辑] 异常

1,2) (无)