您可以使用std::future来获取异步任务的结果。下面是一个简单的示例代码,演示如何使用std::async来创建一个异步任务,并使用std::future来获取其结果:
#include <iostream>
#include <future>
int calculateSum(int a, int b) {
return a + b;
}
int main() {
// 创建一个异步任务,并获取std::future对象
std::future<int> result = std::async(std::launch::async, calculateSum, 5, 10);
// 等待异步任务完成,并获取结果
int sum = result.get();
std::cout << "Sum is: " << sum << std::endl;
return 0;
}
在上面的示例中,std::async
函数创建了一个异步任务,该任务调用calculateSum
函数计算5和10的和。std::future
对象result
用于获取异步任务的结果,调用result.get()
会等待异步任务完成并返回结果。
请注意,您可以使用std::future
的valid()
方法检查异步任务是否已完成,还可以使用wait()
方法等待异步任务完成而不获取结果。