<execution> 在 c++ 中使用标头的问题



我在windows 10上安装了gcc 10.2.0。因此,在这个最新版本的gcc中实现。
问题是,当我从以下链接:https://docs.w3cub.com/cpp/algorithm/reduce复制示例代码时,它说:std::执行尚未声明。任何想法?

#include <iostream>
#include <chrono>
#include <vector>
#include <numeric>
#include <execution>

int main()
{
std::vector<double> v(10'000'007, 0.5);

{
auto t1 = std::chrono::high_resolution_clock::now();
double result = std::accumulate(v.begin(), v.end(), 0.0);
auto t2 = std::chrono::high_resolution_clock::now();
std::chrono::duration<double, std::milli> ms = t2 - t1;
std::cout << std::fixed << "std::accumulate result " << result
<< " took " << ms.count() << " msn";
}

{
auto t1 = std::chrono::high_resolution_clock::now();
double result = std::reduce(std::execution::par, v.begin(), v.end());
auto t2 = std::chrono::high_resolution_clock::now();
std::chrono::duration<double, std::milli> ms = t2 - t1;
std::cout << "std::reduce result "
<< result << " took " << ms.count() << " msn";
}
}

为了向后兼容,许多编译器默认使用较旧的c++模式。在设置中启用c++ 17以使用更新的特性。

相关内容

  • 没有找到相关文章

最新更新