如何解决是否可以保证std :: chrono :: steady_clock永不回绕?
基本上:
std::steady_clock::duration::max() - std::steady_clock::duration::zero()
?
如果是,这如何保证?通过确保没有C ++程序的运行时间超过Object.assign
?
解决方法
就像这个主题领域的许多事情一样,这很复杂...
是的,可以保证return render_template("home.html",feed=post_feed(),image=post_image(),user=post_user())
永不回绕,因为它总是增加:
http://eel.is/c++draft/time.clock.steady
类
steady_clock::now()
的对象表示时钟,其值为steady_clock
永远不会随着身体时间的增长而减少,为此time_point
的值相对于实数以稳定的速率增长 时间。也就是说,时钟可能无法调整。
但是...
这如何保证
从技术上讲,永远不可能有一个具有有限存储滴答声的时钟,并且永远不会超出范围。因此从技术上讲,答案是否定的。
但是...
作为一种实用的方式,time_point
的所有实现都使用带符号的64位整数类型来计数steady_clock
。此范围为+/- 292年。那个时期通常是您的计算机最后一次启动。因此,实际上,它不会包裹您的一生。因此,当它结束运行时,这将是其他人的问题,并且所涉及的计算机将因具有如此长的正常运行时间而获得某种奖励。
PS:我迫不及待地想出计算机手册,说:
每292年必须至少重新启动一次。
:-)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。