accumulate()求和函数定义在头文件numeric中,因此在使用时,需要首先#include<numeric>。它有两种重载形式,一种不需要自定义数据类型处理,一种需要进行定义。
下面示例其最常用的一种求和,不需要自定义数据类型处理,其中第三个参数是初始值,即从该值开始累加上所有begin至end之间的数值,这里初始值定为0,即只计算begin至end之间的数值累加和,不加初始值:
#include <iostream>
#include <vector>
#include <numeric>
using namespace std;
int main()
{
vector<int> numStore;
int result;
for (int index = 0; index < 10; index++)
{
numStore.push_back(index);
}
result = accumulate(numStore.begin(), numStore.end(), 0);
cout << result << endl;
system("pause");
return 0;
}
| |