来吧using duration = std::chrono::steady_clock::duration
。我想用最大的精度优雅地将持续时间转换为以秒为单位的两倍。
我发现了相反的方法(将秒转换为std :: chrono :: duration?的两倍),但这并没有帮助我找到答案。
换句话说,我想要最佳的std函数double F(duration)
,该函数返回秒。
谢谢。
只需做:
std::chrono::duration<double>(d).count()
或者,作为一个功能:
template <class Rep, class Period>
constexpr auto F(const std::chrono::duration<Rep,Period>& d)
{
return std::chrono::duration<double>(d).count();
}
如果您需要std::chrono::duration
构造函数无法实现的更复杂的类型转换,请使用std::chrono::duration_cast
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句