C++ 参考手册

位置:首页 > C++ 参考手册 >日期和时间工具 > std::chrono::high_resolution_clock

定义于头文件 <chrono>
class high_resolution_clock;
(C++11 起)

std::chrono::high_resolution_clock 表示实现提供的拥有最小计次周期的时钟。它可以是 std::chrono::system_clockstd::chrono::steady_clock 的别名,或第三个独立时钟。

std::chrono::high_resolution_clock 满足平凡时钟 (TrivialClock) 的要求。

成员类型

 
成员类型 定义
rep 表示时钟的时期中计次数的算术类型
period 表示时钟计次周期的 std::ratio 类型,单位为秒
duration std::chrono::duration<rep, period>
time_point std::chrono::time_point<std::chrono::high_resolution_clock>

成员常量

constexpr bool is_steady
[静态]
若时间间隔计次始终为常量,即纵使在外部时钟调整的情况下,调用 now() 的返回值亦单调递增,则为 true ,否则为 false
(公开静态成员常量)

成员函数

[静态]
返回表示时钟当前值的 std::chrono::time_point
(公开静态成员函数)

注解

high_resolution_clock 在不同标准库实现之间实现不一致,而应该避免使用它。通常它只是 std::chrono::steady_clockstd::chrono::system_clock 的别名,但实际是哪个取决于库或配置。它是 system_clock 时不是单调的(即时间能后退)。例如对于 gcc 的 libstdc++ 它是 system_clock ,对于 MSVC 它是 steady_clock ,而对于 clang 的 libc++ 它取决于配置。

通常用户应该直接使用 std::chrono::steady_clockstd::chrono::system_clock 代替 std::chrono::high_resolution_clock :对时长度量使用 steady_clock ,对壁钟时间使用 system_clock

参阅

来自系统范围实时时钟的壁钟时间
(类)
决不调整的单调时钟
(类)