template<class InputIt, class T>
T accumulate(InputIt first, InputIt last, T init); // constexpr since C++20
template<class InputIt, class T, class BinaryOp>
T accumulate(InputIt first, InputIt last, T init, BinaryOp op); // constexpr since C++20
: 주어진 범위의 요소들을 초기값에 누적하여 결과값을 반환하는 함수입니다. op를 제공하지 않으면 기본적으로 덧셈이 사용되며, op를 제공하면 다른 방식으로 결합할 수 있습니다.
<example> | op를 제공하지 않을 때
#include <iostream>
#include <numeric>
#include <vector>
using namespace std;
int main() {
vector<int> vec = {1, 2, 3, 4, 5};
int sum = accumulate(vec.begin(), vec.end(), 0);
cout << sum;
return 0;
}
결과값
<example> | op를 제공할 때
#include <iostream>
#include <numeric>
#include <vector>
using namespace std;
int main() {
vector<int> vec = {1, 2, 3, 4, 5};
int mult = accumulate(vec.begin(), vec.end(), 1, [](int a, int b) {return a * b;});
cout << mult;
return 0;
}
결과값
