4

20.11.7.2/1 开始:

类对象steady_clock 表示时钟,其值time_point永远不会随着物理时间的推移而减少,并且其值以time_point相对于实时的稳定速率前进。也就是说,时钟可能不会被调整。

从概念上讲,这很不错,但考虑到几乎可以肯定代表一个时间点的位数是有限的,很难想象一个稳定时钟的值永远保持增长的实现。

20.11.3/2 似乎支持了我缺乏想象力,因为它(在非规范性注释中)指的是“环绕”的时钟。这表明如果我从同一个稳定时钟中获取atime_point t1和 a ,则可能会出现更早的时间,因为时钟可能在和之间。time_point t2t2t1t2

我发现很难理解这个领域的标准。有人可以澄清稳定时钟和时钟包装的关系和相互作用吗?

4

1 回答 1

3

steady_clock请在您实际见证翻转时提交错误报告。在我的系统上,如果我在接下来的 292 年内不重新启动计算机,那将发生在 2305 年。如果我当时没有回应,请见谅。:-)

开个玩笑,实现需要支持足够大的位长度,以便在实际持续时间内无法观察到时钟翻转。从计算机启动时开始以 64 位整数计算纳秒是一种合理的实现方式。

于 2013-04-04T17:10:03.793 回答