一个简单的序列求和算法,用accumulate还必须传第三个参数。
accumulate(VecCurrentTerse.begin(), VecCurrentTerse.end(), 0.0);
注意的是,如果第三个参数传的只是0,即使序列是double型的数据,返回的也是整型的,而且,看源码示例:
template <class InputIterator, class T>
T accumulate (InputIterator first, InputIterator last, T init)
{
while (first!=last) {
init = init + *first; // or: init=binary_op(init,*first) for the binary_op version
++first;
}
return init;
}
while里每一步都截取了。。精度啊。。。
accumulate返回值类型 提醒,布布扣,bubuko.com
原文:http://www.cnblogs.com/xiarl/p/3683133.html