C++ 标准 (github.com/cplusplus/draft) 将time_t
转换函数 ( std::chrono::system_clock::to_time_t
and std::chrono::system_clock::from_time_t
) 列为static
and noexcept
but not constexpr
。
鉴于基本上所有对time_point
and的操作duration
都是constexpr
(包括duration_cast
and time_point_cast
),我想不出任何理由来排除它们。快速检查我本地机器上的 libstdc++ 源代码可以确认这些函数是作为简单的持续时间/时间点转换实现的。
有什么理由不应该使用这两个功能constexpr
吗?这只是“因为没有人建议他们应该这样做”的情况吗?