【发布时间】:2016-05-30 21:58:47
【问题描述】:
在http://en.cppreference.com/w/cpp/chrono 的示例中,秒值是在double 中获得的。这是我想要的行为。然而,这似乎依赖于时间点减法产生代表秒的值的隐含假设。我找不到任何东西来解释为什么在没有实际指定时间单位的情况下持续时间会产生浮点秒。在完全不使用auto 的情况下,有人可以展示如何以浮点类型显式获取时间单位(例如秒),或者指向文档或解释为什么上述转换表示秒?
有问题的转换本质上是:
std::chrono::time_point<std::chrono::system_clock> start = std::chrono::system_clock::now();
std::chrono::time_point<std::chrono::system_clock> end = std::chrono::system_clock::now();
std::chrono::duration<double> elapsed_seconds = end-start; // why does this represent seconds as opposed to some other time unit?
double secondsInDouble = elapsed_seconds.count();
有关转换示例,请参阅以下帖子。
How to get duration, as int milli's and float seconds from <chrono>?
C++ chrono - get duration as float or long long
【问题讨论】:
标签: c++ floating-point chrono seconds