【发布时间】:2018-01-11 17:42:58
【问题描述】:
求几个数的平均值的公式当然是众所周知的:
而且这个公式可以很容易地用来得到chrono::durations的平均值:
template <class Rep0, class Period0>
auto
sum(const std::chrono::duration<Rep0, Period0>& d0)
{
return d0;
}
template <class Rep0, class Period0, class ...Rep, class ...Period>
auto
sum(const std::chrono::duration<Rep0, Period0>& d0,
const std::chrono::duration<Rep, Period>& ...d)
{
return d0 + sum(d...);
}
template <class ...Rep, class ...Period>
auto
avg(const std::chrono::duration<Rep, Period>& ...d)
{
return sum(d...) / static_cast<std::common_type_t<Rep...>>(sizeof...(d));
}
但是chrono::time_points 不能相互添加。我如何平均time_points?
【问题讨论】: