时间段的表示

tmplate<class Rep,class Period=ratio<1>>

class duration;

duration类被用来表示时间段的计量器,Rep表示计量值,Period表示计量单位,该单位建立在与second的比率上。

时间点的表示

template<class Clock,class Duration=typename Clock::duration>

class time_point;

time_point类表示时间点,一个时间点由其和零时间点之间的时间段来表示。Clock表示时钟,不同的时钟可能有不同的零时间点及时间精度。Duration即为duration,表示时间计量器。

时钟

C++标准库有2种钟:system_clock、steady_clock

system_clock被预期用于表示现实世界的真正时间,而steady_clock只被预期用于产生时间差。两者都有一个静态成员函数now来产生当前的时间点。system_clock有成员函数可将time_t 对象与time_point对象互相转换。steady_clock不受系统时间被用户改变的影响,而system_clock则会被影响。

high_resolution_clock是system_clock和steady_clock中精度比较高的那一个,而不是新的钟类型。

duration_cast

duration_cast用于将duration进行转换成另一个类型的duration。

time_point_cast

time_point_cast用于将time_point转换成另一个类型的time_point,但时钟类型不能改变。

操作:

chrono库定义了时间的常用操作:时间段可加减、相互比较。时间点可相互比较,与时间段相加减产生新的时间点。

05-26 08:08