c++ accumulate

// accumulate example
#include <iostream>
#include <functional>
#include <numeric>
using namespace std;

int myfunction (int x, int y) {return x+2*y;}
struct myclass {
	int operator()(int x, int y) {return x+3*y;}
} myobject;

int main () {
  int init = 100;
  int numbers[] = {10,20,30};

  cout << "using default accumulate: ";
  cout << accumulate(numbers,numbers+3,init);
  cout << endl;

  cout << "using functional's minus: ";
  cout << accumulate (numbers, numbers+3, init, minus<int>() );
  cout << endl;

  cout << "using custom function: ";
  cout << accumulate (numbers, numbers+3, init, myfunction );
  cout << endl;

  cout << "using custom object: ";
  cout << accumulate (numbers, numbers+3, init, myobject );
  cout << endl;

  return 0;
}

http://www.cplusplus.com/reference/numeric/accumulate/  

原文地址:https://www.cnblogs.com/xiongqiangcs/p/3049886.html