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

时间:2018-03-06 14:32:22

标签: c++ intrinsics

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

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

我想暂时优化这段代码。我想用内在函数。是否可以使用内在函数以及如何使用。

1 个答案:

答案 0 :(得分:1)

我想您可以尝试使用std::for_eachstd::execution::parallel_policy

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

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