在C++中,accumulate是一个用于对容器中的元素进行累加操作的函数模板,位于 头文件中。它允许你对容器(如vector或array)中的元素进行累加运算,并返回累加的结果。
源代码展示
cpp
template<class InputIterator, class Type>
Type accumulate(
InputIterator _First, //开始迭代器
InputIterator _Last, //结束迭代器
Type _Val //初始值
);
源码剖析
cpp
template<class InputIterator, class T>
T accumulate(
InputIterator first,
InputIterator last,
T init )
{
for(;first != last; ++first)
init = init + *first; //默认为累加
return init;
}
应用举例
cpp
#include <iostream>
#include <vector>
#include <numeric>
using namespace std;
int main()
{
vector<int>v{1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
auto sum = accumulate(v.begin(), v.end(), 0);//把v的所有值累加,初始值为0
cout << "累加结果为:"<<sum<<endl;
return 0;
}
本篇完!