c++ - 在整个系统中使用 std::chrono::steady_clock 时间是否正确?

标签 c++ c++11 c++-chrono

我有一个文件,其 header 时间作为 std::chrono::steady_clock 参数。 不同的服务器会将它们写入磁盘。在文件的使用过程中,我会比较它们以找到最新的时间。 我对 https://en.cppreference.com/w/cpp/chrono/steady_clock 感到困惑

更新:

问:比较是否为我提供了最新的文件?

问:我应该使用 system_clock 而不是 stable_clock 吗?

最佳答案

问:比较是否为我提供了最新的文件?

答案: 引用上面分享的链接:

"This clock is not related to wall clock time (for example, it can be time since last reboot), and is most suitable for measuring intervals."

它似乎不适合在文件中添加时间戳。例如,看起来可能是自进程启动以来的时间,并且不同的进程不会就当前的 std::chrono::steady_clock 时间达成一致。

摘自@François Andrieux 的评论可能会对这里的某人有所帮助。

问:我应该使用 system_clock 而不是 stable_clock 吗?

答案:当我们在不同的服务器或系统上工作并尝试比较std::chrono::steady_clock时,它将会是错误的。 使用 std::chrono::system_clock 代替。

关于c++ - 在整个系统中使用 std::chrono::steady_clock 时间是否正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64376172/

相关文章:

C++11计时:assigning values to time_point objects

c++ - 使用 native C++ Qt 比 PyQt 有什么优势

c++ - 使用 int 作为直到运行时才知道的模板参数

c++ - 由于缺乏对纹理坐标的理解,场景体素化不起作用

c++ - 将元素推送到基于 for 循环的范围内的 vector

c++ - 如何将宏生成的#foo 字符串传递给模板类?

c++ - 在 for 循环中声明两个不同的变量,其中一个是不可移动、不可复制的对象

c++ - std::fstream 不会打开当前进程的文件,但是 open() 会吗?

c++ - std::chrono:将时钟的纪元设置为 1/1/0000

c++ - chrono 库中的 Clock 和 TrivialClock 概念