C ++标准(github.com/cplusplus/draft)具有time_t
转换函数(std::chrono::system_clock::to_time_t
和std::chrono::system_clock::from_time_t
),列为static
和{{1}但不是noexcept
。
鉴于基本上constexpr
和time_point
上的所有操作都是duration
(包括constexpr
和duration_cast
),我想不出任何操作排除它们的理由。快速检查本地机器上的libstdc ++源代码,确认这些函数是作为简单的duration / time_point强制转换实现的。
这两个函数不应该是time_point_cast
吗?这只是“因为没有人提出他们应该是”吗?
答案 0 :(得分:3)
这仅仅是“因为没有人提出他们应该是”吗?
是的,我认为这是完全正确的。
我很好奇:一旦你得到constexpr time_t
,你打算用它做什么?采用time_t
的C函数都不是constexpr
。