class high_resolution_clock;
(since C++11)Class std::chrono::high_resolution_clock
represents the clock with the smallest tick period provided by the implementation. It may be an alias of std::chrono::system_clock or std::chrono::steady_clock, or a third, independent clock.
std::chrono::high_resolution_clock
meets the requirements of TrivialClock.
rep
arithmetic type representing the number of ticks in the clock's duration period
a std::ratio type representing the tick period of the clock, in seconds duration
std::chrono::duration<rep, period> time_point
std::chrono::time_point<std::chrono::high_resolution_clock> [edit] Member constants
constexpr bool is_steady
[static]
true if the time between ticks is always constant, i.e. calls to now() return values that increase monotonically even in case of some external clock adjustment, otherwise falseThere has been some controversy around the use of high_resolution_clock
. Howard Hinnant, who claims to have introduced high_resolution_clock
to the language, stated in 2016 on the ISO C++ Standard - Discussion mailing list that he was in favor of deprecating it. His rationale was that, because the standard allows for it to be an alias for std::chrono::steady_clock or std::chrono::system_clock, its use adds uncertainty to a program without benefit. However, other participants in the thread spoke out its favor, for instance on the basis that, because neither std::chrono::steady_clock nor std::chrono::system_clock come with any particular resolution guarantees, high_resolution_clock
serves a useful role by giving the vendor an opportunity to supply the platform's highest-resolution clock, when neither its std::chrono::steady_clock nor its std::chrono::system_clock would be that.
It is often just an alias for std::chrono::steady_clock or std::chrono::system_clock, but which one it is depends on the library or configuration. When it is a system_clock
, it is not monotonic (e.g., the time can go backwards). For example, as of 2023, libstdc++ has it aliased to system_clock
"until higher-than-nanosecond definitions become feasible"[1], MSVC has it as steady_clock
[2], and libc++ uses steady_clock
when the C++ standard library implementation supports a monotonic clock and system_clock
otherwise[3].
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4