I want to make std::promise and std::future as pointers and make it a varibles of myClass
class myclass {
std::future
std::promise * prom
}
I am not sure now to new and of promise and future and how to get future from pointer to promise
Can someone helping in writing the code
That seems to be even less meaningful than a pointer to std::list, but sure:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
#include <memory>
#include <future>
#include <thread>
struct myclass {
std::unique_ptr<std::promise<void>> p; // promise before future
std::unique_ptr<std::future<void>> f;
myclass() : p{std::make_unique<std::promise<void>>()},
f{std::make_unique<std::future<void>>(p->get_future())} {}
};
int main () {
myclass mc;
std::thread t{[p = std::move(mc.p)]{ p->set_value(); }};
mc.f->wait();
t.join();
}
|
live demo
https://wandbox.org/permlink/NuUirMvILIW5f7h9
Last edited on