Namespaces
Variants

std::promise<R>:: promise

From cppreference.net
Concurrency support library
Threads
(C++11)
(C++20)
this_thread namespace
(C++11)
(C++11)
Cooperative cancellation
Mutual exclusion
Generic lock management
Condition variables
(C++11)
Semaphores
Latches and Barriers
(C++20)
(C++20)
Futures
(C++11)
(C++11)
(C++11)
Safe reclamation
Hazard pointers
Atomic types
(C++11)
(C++20)
Initialization of atomic types
(C++11) (deprecated in C++20)
(C++11) (deprecated in C++20)
Memory ordering
(C++11) (deprecated in C++26)
Free functions for atomic operations
Free functions for atomic flags
promise ( ) ;
(1) (начиная с C++11)
template < class Alloc >
promise ( std:: allocator_arg_t , const Alloc & alloc ) ;
(2) (начиная с C++11)
promise ( promise && other ) noexcept ;
(3) (начиная с C++11)
promise ( const promise & other ) = delete ;
(4) (начиная с C++11)

Создает объект promise .

1) Конструктор по умолчанию. Создает promise с пустым разделяемым состоянием.
2) Создает promise с пустым разделяемым состоянием. Разделяемое состояние выделяется с использованием alloc . Alloc должен соответствовать требованиям Allocator .
3) Конструктор перемещения. Создает promise с общим состоянием other используя семантику перемещения. После конструирования other не имеет общего состояния.
4) promise не копируем.

Параметры

alloc - аллокатор для использования при выделении общего состояния
other - другой promise для получения состояния

Исключения

1,2) Может выбрасывать исключения, определяемые реализацией.

Пример