Как устойчивые часы взаимодействуют с представлениями с ограниченным битом времени?

20.11.7.2/1 начинается:

Объекты класса steady_clock
представляют часы, для которых значения time_point никогда не уменьшается как
физическое время прогрессирует и для каких значений time_point продвигаться в
устойчивая скорость относительно реального времени. То есть часы могут не быть
отрегулированы.

В принципе, это прекрасно, но, учитывая, что почти наверняка будет ограниченное количество битов для представления момента времени, сложно представить реализацию, в которой значение устойчивых часов просто продолжает расти вечно.

20.11.3 / 2, кажется, подтверждает мою нехватку воображения, потому что это ссылается (в ненормативной записке) на часы, «вращающиеся вокруг». Это говорит о том, что если у меня есть time_point t1 и позже time_point t2 взяты из тех же самых устойчивых часов, t2 может появиться раньше времени, потому что часы могли t1 а также t2,

Мне очень трудно разобраться в стандарте в этой области. Может ли кто-нибудь прояснить отношения и взаимодействие устойчивых часов и их упаковки?

4

Решение

Пожалуйста, отправьте отчет об ошибке, когда вы действительно станете свидетелем steady_clock перекатывать. В моей системе, если я не перезагружу свой компьютер в течение следующих 292 лет, это произойдет в 2305 году. Извините, если я не отвечаю в это время. 🙂

Если не вдаваться в подробности, реализация должна поддерживать достаточно большую битовую длину, чтобы в течение практического промежутка времени не наблюдалось свертывание тактового сигнала. Подсчет наносекунд в 64-битном целом числе от времени загрузки компьютера является одной из разумных реализаций этого.

3

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector