C++ 使用内部函数递增数组的特定元素

C++ 使用内部函数递增数组的特定元素,c++,intrinsics,C++,Intrinsics,我正在使用c++。我有两个短元素数组。第一个是值,第二个是第一个数组的索引,应该是递增的。我有这样的代码: const int N1=...; const int N2=...; int arr1[N1]; int arr2[N2]; .... for (int i = 0;i<N2;i++) arr1[arr2[i]]++; const int N1=。。。; 常数int N2=。。。; int-arr1[N1]; int-arr2[N2]; .... 对于(inti=0;i我

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

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

对于(inti=0;i我想您可以尝试使用


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

但要小心:如果
arr2
中的值不是唯一的,则此代码通过数据竞争表现出未定义的行为。
std::for_each(std::execution::par,
              arr2,
              arr2 + N2,
              [arr1](int i){ arr1[i]++; });