我试图创建一个从vector<float>
计算其方差的类。它应该通过使用先前在this->mean
中计算的diffSquaredSum
来执行此操作。我试图在diffSquaredSum
内调用方法accumulate
,但不知道神奇的语法是什么。
使用diffSquaredSum
类方法作为op
中accumulate
的{{1}}参数的正确语法是什么?
setVariance
答案 0 :(得分:2)
double sum = std::accumulate(
values.begin(),
values.end(),
0.f,
[&](float sum, float x){ return diffSquaredSum(sum,x);}
);
bind
很少有用。喜欢lambdas,它们更容易书写和阅读。
你可以反而喜欢绑定,但为什么呢?