【问题标题】:c++ boost::posix_time::ptime default valuec++ boost::posix_time::ptime 默认值
【发布时间】:2017-10-13 14:39:28
【问题描述】:

我的班级中有一个成员变量:

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

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

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

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

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

【问题讨论】:

    标签: c++ boost boost-date-time


    【解决方案1】:

    默认构造函数将其初始化为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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-26
      • 2010-11-13
      • 2016-01-30
      相关资源
      最近更新 更多