在C++中使用time_t和time_point的效率

Efficiency of using time_t and time_point in C++

本文关键字:time point 效率 C++      更新时间:2023-10-16

在C++中,std::time_t 和 std::chrono::time_point 是用于存储日期和时间的类。使用time_point来存储时间是否有效。似乎time_point支持更多的功能,与time_t相比,使用它时效率会更低吗?time_point 实例的内存大小大约有多大? time_t实例的大小是多少?

使用time_point来存储时间是否有效。

是的,它只包含一个数值。

似乎time_point支持的功能更多,与time_t相比,使用它时效率会更低吗?

你为什么会这么想?非虚函数不会增加对象大小,简单的函数应该内联,以便它们像直接弄乱数值一样高效。

关于time_point实例的内存大小有多大?

与您告诉它使用的数字类型大小相同。如果您使用便利持续时间类型之一,例如 seconds 可能是 64 位。如果重要,请与sizeof核实。

time_t实例的大小是多少?

未指定,通常为 32 或 64 位。如果重要,请与sizeof核实。如果是32岁,那么几十年后你可能会遇到麻烦。