为什么 std::chrono::duration 个实例在标准库中不是按值传递的?

Why aren't std::chrono::duration instances passed by value in the Standard Library?

根据cppreference.com

The only data stored in a duration is a tick count of type Rep.

但是,我注意到例如:

this_thread::sleep_for 通过 const ref.

获取 sleep_duration

future::wait_for 同样采用 const ref.duration

等等

(1) 为什么它们不是按值传递的任何特定原因?

(1a) 是否通过 const 引用传递悲观一些可能的 constexpr 优化?

这是一个判断电话。 "built-in" 持续时间的常见情况的成本与函数将要执行的操作(睡眠)的成本相比很小。而且我不想考虑包含自定义 Rep 的自定义持续时间的按值传递成本,复制起来可能很昂贵(例如 BigNum)。