std::chrono::high_resolution_clock
来自cppreference.com
在标头 <chrono> 定义
|
||
class high_resolution_clock; |
(C++11 起) | |
类 std::chrono::high_resolution_clock
表示实现提供的拥有最小计次周期的时钟。它可以是 std::chrono::system_clock 或 std::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_clock 或 std::chrono::system_clock 的别名——它是 system_clock
时不是单调的(即时间能后退),但具体实现取决于库或配置。例如:对于 gcc 的 libstdc++ 它是 system_clock
,对于 MSVC 它是 steady_clock
,而对于 clang 的 libc++ 它取决于配置。
通常用户应该直接使用 std::chrono::steady_clock 或 std::chrono::system_clock 代替 std::chrono::high_resolution_clock
:对时长度量使用 steady_clock
,对壁钟时间使用 system_clock
。
参阅
(C++11) |
来自系统范围实时时钟的壁钟时间 (类) |
(C++11) |
决不调整的单调时钟 (类) |