7

C++ 标准 (github.com/cplusplus/draft) 将time_t转换函数 ( std::chrono::system_clock::to_time_tand std::chrono::system_clock::from_time_t) 列为staticand noexceptbut not constexpr

鉴于基本上所有对time_pointand的操作duration都是constexpr(包括duration_castand time_point_cast),我想不出任何理由来排除它们。快速检查我本地机器上的 libstdc++ 源代码可以确认这些函数是作为简单的持续时间/时间点转换实现的。

有什么理由不应该使用这两个功能constexpr吗?这只是“因为没有人建议他们应该这样做”的情况吗?

4

1 回答 1

3

这只是“因为没有人建议他们应该这样做”的情况吗?

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

我很好奇:一旦你得到 a constexpr time_t,你打算用它做什么?C 函数中没有一个time_tconstexpr.

于 2014-01-23T15:52:15.917 回答