C ++ std :: reduce与数组

问题描述

int arr1[5] = { 1,2,3,4,5 };
int sum = reduce(arr1[0],arr1[5]);

我编写了这段代码,以将std::reduce函数用于整数数组。我应该如何定义数组的开始和结束?

解决方法

使用std::(c)begin()std::(c)end()

#include <iostream>
#include <numeric>
int main(){
    int arr1[5] = { 1,2,3,4,5 };
    int sum = std::reduce(std::cbegin(arr1),std::cend(arr1));
    std::cout << sum;
}

Demo