给出一段C++promise使用代码
时间: 2024-01-09 20:04:37 浏览: 68
C++11 <future>中std::promise 介绍
下面是一个使用C++ Promise的例子:
```c++
#include <iostream>
#include <future>
int main()
{
std::promise<int> promiseObj;
std::future<int> futureObj = promiseObj.get_future();
std::thread([](std::promise<int>& p) {
p.set_value(42);
}, std::ref(promiseObj)).detach();
std::cout << "Waiting for the future" << std::endl;
int result = futureObj.get();
std::cout << "The future has arrived, and the result is " << result << std::endl;
return 0;
}
```
在这个例子中,我们定义了一个`std::promise<int>`对象,这个对象可以用来设置一个值,这个值将在未来某个时候被获取。我们通过`std::future<int>`对象来获取这个值,并且通过`std::thread`来异步设置这个值。最后,我们使用`futureObj.get()`来等待并获取这个值。
阅读全文