C++ boost::posix_time::ptime 默认值

标签 c++ boost boost-date-time

我的类中有一个成员变量:

class Foo
{
// ...
private:
  boost::posix_time::ptime t;
}

我想在构造函数中将它初始化为一个众所周知的值,这样我就知道它还没有被程序设置:

Foo::Foo()
   : t(NULL) // doesnt work
{}

但是将它设置为 NULL 不起作用,因为它不是指针。

如何将 boost::posix_time::ptime 初始化为众所周知的值?

最佳答案

默认构造函数将其初始化为 boost::posix_time::not_a_date_time。有一个成员函数可以检查 t.is_not_a_date_time()。有关详细信息,请参阅 docs .

#include <iostream>
#include <boost/date_time/posix_time/posix_time.hpp>

class Foo
{
public:
  boost::posix_time::ptime t;
  Foo() : t() {}
};

int main()
{
  Foo foo;
  std::cout << std::boolalpha
            << foo.t.is_not_a_date_time() << '\n';
}

Demo on Wandbox

关于C++ boost::posix_time::ptime 默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43968855/

相关文章:

boost-date-time - boost::posix_time 在发布版本中失败

c++ - 如何将 std::string 转换为 boost::gregorian::date?

c++ - 与 GCC 共享不一致的字符串文字

c++ - 如何使用智能指针实例化一个对象

c++ - boost 软件集成

c++ - 无法将 boost::asio::netdb::errors 转换为 std::error_code

c++ - 有没有办法确定日期/时间是否不存在?

C++:code::block 无法识别包含的 header

c++ - 使用 std::set<myOwnObjectType> 是问题的根源吗?

c++ - 通过迭代旋转重新排序算法