【发布时间】:2014-11-10 21:29:33
【问题描述】:
我正在修改一个旧项目,同时我正在更新一些内容以将其升级到 C++11。
我想用 std::chrono 中的新功能替换 boost::date_time 的各种用途。但我无法弄清楚 boost::date_time::not_a_date_time 的 C++11 等价物是什么。
在 C++11 中是否有一个等价物表示尚未分配 time_point 变量,或者不包含有效的时间戳?
【问题讨论】:
-
我有点困惑:你如何创建一个“无效”
std::chrono::time_point? constructors 似乎只允许创建“有效”时间点。 -
@dyp 这正是我遇到的问题。我无法弄清楚如何使用 std::chrono 来做到这一点。在 Boost::date_time——我想替换的库中——构造函数可以采用“特殊值”的枚举,其中之一是 boost::date_time::not_a_date_time。 boost.org/doc/libs/1_56_0/doc/html/date_time/…
-
啊,我想我开始明白这个问题了。
std::chrono与boost::chrono相关,据我所知与boost::date_time无关。 -
有一个构造函数接受一个枚举。例如:
ptime(special_values sv) Constructor for infinities, not-a-date-time, max_date_time, and min_date_time来自boost.org/doc/libs/1_56_0/doc/html/date_time/…。 -
正确,date_time 和 chrono 决一胜负,chrono 获胜并进入了 C++11。但是现在一些使用 date_time 的旧项目需要转换为 chrono。问题是 chrono 只包含 date_time 功能的一小部分。
标签: c++ c++11 chrono boost-date-time