20.11.7.2/1 开始:
从概念上讲,这很可爱,但考虑到几乎可以肯定表示一个时间点的比特数是有限的,很难想象一个稳定时钟值永远不断增加的实现。
20.11.3/2 似乎支持我缺乏想象力,因为它指的是(在非规范性注释中)时钟“环绕”。这表明如果我有一个 time_point t1
和一个来自同一个稳定时钟的后来的 time_point t2
, t2
可能看起来更早出现,因为时钟可能已经在 t1
和 t2
之间回绕。
我发现很难理解这个领域的标准。有人可以澄清稳定时钟和时钟包装的关系和相互作用吗?
最佳答案
请在您实际目睹 steady_clock
翻转时提交错误报告。在我的系统上,如果我在接下来的 292 年里不重新启动我的计算机,那将在 2305 年发生。如果我当时没有回复,很抱歉。 :-)
顺便说一句,该实现需要支持足够大的位长度,以便在实际持续时间内无法观察到时钟翻转。从计算机启动开始计算 64 位整数中的纳秒是一种合理的实现。
关于c++ - 稳定时钟如何与有限位时间表示交互?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15817235/