您可以使用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()
方法等待異步任務完成而不獲取結果。