起初我认为它可以用于性能测量。但它是said std::chrono::high_resolution_clock
可能不稳定(is_steady
可能是 false
)。也有人说 std::chrono::high_resolution_clock
甚至可能是 std::chrono::system_clock
的别名,一般来说是不稳定的。所以我不能用这种类型的时钟测量时间间隔,因为任何时候时钟都可能被调整,我的测量结果会出错。
同时我无法将 std::chrono::high_resolution_clock
的时间点转换为日历时间,因为它没有 to_time_t
方法。所以我也不能用这种类型的时钟获得实时。
那么std::chrono::high_resolution_clock
可以用来做什么呢?
最佳答案
没有。
对不起,my bad .
如果您想使用 high_resolution_clock
, 选择steady_clock
反而。在 libc++ 和 VS high_resolution_clock
是 steady_clock
的类型别名无论如何。
在 gcc 上 high_resolution_clock
是 system_clock
的类型别名我见过不止一种使用 high_resolution_clock::to_time_t
在这个平台上(这是错误的)。
不要使用<chrono>
.但是有部分<chrono>
你应该避免的。
- 请勿使用
high_resolution_clock
. - 避免使用
.count()
和.time_since_epoch()
除非没有其他方法可以完成工作。 - 避免使用
duration_cast
除非没有它代码无法编译,并且您希望截断为零的行为。 - 如果隐式转换可以编译,请避免显式转换语法。
关于c++ - std::chrono::high_resolution_clock 的用途是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37426832/