August 2021
Intermediate to advanced
450 pages
5h 35m
Chinese
在<chrono>中,标准库提供了处理时间的设施。例如,下面是基本的计时方法:
系统时钟返回一个time_point类型的值(时间点)。两个time_point相减的结果是一个duration(时间段)。不同的时钟得到的时间单位各有不同(这里用到的时钟单位是nanoseconds),所以最好将duration统一转换成一个公认的单位,这就是duration_cast所做的事情。
如果没有进行时间测量,就不要对代码做出有关“效率”的声明。猜测性能是最不可靠的。
为简化符号表示、尽量减少错误,<chrono>提供了时间单位后缀(参见5.4.4节)。例如:
时间后缀定义在名字空间std::chrono_literals中。
C++20标准中增加了<chrono>的一个优雅、高效的扩展,支持长时间间隔(如若干年、若干月)、日历和时区。这一扩展已有实现,广泛用于实际代码中[Hinnant,2018][Hinnant,2018b]。你可以这样编写代码:
它甚至能处理闰年。
Read now
Unlock full access