所以在过去我通过引用传递了std::chrono::duration
个值,但现在我认为它们只不过是一个包含在类中的单个算术类型,因此按值传递它是有意义的。
有没有人描述过它?
答案 0 :(得分:4)
根据规范,duration包含
中指定的Rep类型的单个变量(滴答数)template<
class Rep,
class Period = std::ratio<1>
> class duration;
所以基本上你可以选择像处理Rep类型那样处理复制/传递const ref。 当我以前使用chromo :: duration时,我选择它是一个很长的,在这种情况下,我没有看到通过const引用传递的理由,(特别是在我的架构中,一个long和一个地址都是8个字节)
答案 1 :(得分:1)
我认为它们只不过是一个包含的算术类型
持续时间中存储的唯一数据是Rep类型的刻度计数。如果Rep是浮点数,则持续时间可以表示刻度的分数。期间包含在持续时间类型的一部分中,仅在不同持续时间之间转换时使用。
和
其中滴答周期是编译时合理常量
你的猜测是对的