在C++中,可以使用std::async函數(shù)來創(chuàng)建一個std::future對象。std::async函數(shù)會異步執(zhí)行一個任務(wù),并返回一個std::future對象,可以通過該對象來獲取異步任務(wù)的返回值或異常信息。
下面是一個示例代碼,演示如何使用std::async創(chuàng)建一個std::future對象:
#include <iostream>
#include <future>
int foo()
{
return 42;
}
int main()
{
// 創(chuàng)建一個std::future對象
std::future<int> future_result = std::async(foo);
// 等待異步任務(wù)完成,并獲取返回值
int result = future_result.get();
std::cout << "Result: " << result << std::endl;
return 0;
}
在上面的示例中,我們定義了一個函數(shù)foo,然后使用std::async函數(shù)異步執(zhí)行該函數(shù),并返回一個std::future對象。我們可以使用get()方法來等待異步任務(wù)完成,并獲取返回值。