使用内在函数递增数组的特定元素

问题描述 投票:0回答:1

我正在使用c ++。我有2个短元素数组。首先是值,第二个是第一个数组的索引,应该是递增的。我有这样的代码:

const int N1=...;
const int N2=...;
int arr1[N1];
int arr2[N2];
....
for (int i = 0;i<N2;i++)
    arr1[arr2[i]]++;

我想优化这段代码的时间。我想用内在函数。是否可以使用内在函数来实现此目的。

c++ intrinsics
1个回答
1
投票

我想你可以尝试使用std::for_eachstd::execution::parallel_policy并行化它

std::for_each(std::execution::par,
              arr2,
              arr2 + N2,
              [arr1](int i){ arr1[i]++; });

请注意,这将需要访问启用C ++ 17的编译器。

© www.soinside.com 2019 - 2024. All rights reserved.