【第22期】观点:IT 行业加班,到底有没有价值?

C++中的accumulate

原创 2016年08月30日 22:13:43
// accumulate example
#include <iostream>     // std::cout
#include <functional>   // std::minus
#include <numeric>      // std::accumulate

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};

  std::cout << "using default accumulate: ";
  std::cout << std::accumulate(numbers,numbers+3,init);
  std::cout << '\n';

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

  std::cout << "using custom function: ";
  std::cout << std::accumulate (numbers, numbers+3, init, myfunction);
  std::cout << '\n';

  std::cout << "using custom object: ";
  std::cout << std::accumulate (numbers, numbers+3, init, myobject);
  std::cout << '\n';

  return 0;
}

需要#include <numeric>
std::accumulate(numbers,numbers+3,init); init 是求和的初始值
也可以自己定义计算的方法。

版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

C++并发实战5:并行化的std::accumulate

std::thread::hardware_concurrency()可以返回CPU个数,在C++库不能获取CPU信息下可能返回0。该信息是非常有用的,当线程数超过CPU cores会频繁的引起上下文...

C++ Pirate: Lambda vs Bind

Lambda 与 Bind的性能比较 转载请说明出处:http://blog.csdn.net/cywosp/article/details/9379403 先让我们看看下面函数:</

c++之std::accumulate连续操作如累加累积等

#include #include #include #include #include using namespace std; //http://www.cplusplus.com...

从零开始学C++之STL(七):剩下5种算法代码分析与使用示例(remove 、rotate 、sort、lower_bound、accumulate)

一、移除性算法 (remove) <div style="width: 100%; font-family: Consolas,'Courier New'; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color

C++的STL中accumulate的用法

accumulate定义在#include中,作用有两个,一个是累加求和,另一个是自定义类型数据的处理 1.累加求和 [cpp] view plain copy pr...
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)