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

A B*_*Man 3 c++ boost boost-date-time

我班上有一个成员变量:

class Foo
{
// ...
private:
  boost::posix_time::ptime t;
}
Run Code Online (Sandbox Code Playgroud)

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

Foo::Foo()
   : t(NULL) // doesnt work
{}
Run Code Online (Sandbox Code Playgroud)

但是将其设置为NULL无效,因为它不是指针。

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

Hen*_*nke 5

默认构造函数将其初始化为boost::posix_time::not_a_date_time。有一个成员函数来检查t.is_not_a_date_time()。有关更多信息,请参阅文档

#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';
}
Run Code Online (Sandbox Code Playgroud)

Wandbox上的演示