为什么std :: chrono :: system_clock :: to_time_t()不是constexpr?

时间:2014-01-23 04:20:37

标签: c++ c++11 constexpr chrono

C ++标准(github.com/cplusplus/draft)具有time_t转换函数(std::chrono::system_clock::to_time_tstd::chrono::system_clock::from_time_t),列为static和{{1}但不是noexcept

鉴于基本上constexprtime_point上的所有操作都是duration(包括constexprduration_cast),我想不出任何操作排除它们的理由。快速检查本地机器上的libstdc ++源代码,确认这些函数是作为简单的duration / time_point强制转换实现的。

这两个函数不应该是time_point_cast吗?这只是“因为没有人提出他们应该是”吗?

1 个答案:

答案 0 :(得分:3)

  

这仅仅是“因为没有人提出他们应该是”吗?

是的,我认为这是完全正确的。

我很好奇:一旦你得到constexpr time_t,你打算用它做什么?采用time_t的C函数都不是constexpr