STL之accumulate函数

头文件#include

当以迭代器first和last及值init作为参数调用时

accumulate(first,last, init);将把init 和从 first 到last 指向的值进行累加,并返回累加得到的和,但不包括last指向的值。

1.累加

double y[5] = {2.1,3.123,5.3,7.0,11.0};
// accumulate 对浮点型数据相加。
   vectorvectorl1(&y[0],&y[5]);
   double sum2 = accumulate(vectorl1.begin(),vectorl1.end(),0.0);
   cout<<"sum2 = "<

2.利用multiplies和accumulate来计算连乘

#include
#include
#include
#include
using namespace std;
int main()
{
   int x[5] = {2, 3, 5, 7, 11};
   vectorvectorl(&x[0], &x[5]);
   int product = accumulate(vectorl.begin(), vectorl.end(), 1,multiplies());
   cout<<"product = "<

multiplies()是int类实例化multiplies模板类,accumulate函数里传multiplies类地址。

你可能感兴趣的:(STL之accumulate函数)