使用类方法作为`accumulate`的`op`参数

时间:2014-05-13 00:32:17

标签: c++11

我试图创建一个从vector<float>计算其方差的类。它应该通过使用先前在this->mean中计算的diffSquaredSum来执行此操作。我试图在diffSquaredSum内调用方法accumulate,但不知道神奇的语法是什么。

使用diffSquaredSum类方法作为opaccumulate的{​​{1}}参数的正确语法是什么?

setVariance

1 个答案:

答案 0 :(得分:2)

double sum = std::accumulate(
  values.begin(),
  values.end(),
  0.f,
  [&](float sum, float x){ return diffSquaredSum(sum,x);}
);

bind很少有用。喜欢lambdas,它们更容易书写和阅读。

你可以反而喜欢绑定,但为什么呢?