返回使用Boost发出时间戳的函数的类型

时间:2015-08-12 14:09:29

标签: c++ boost

使用boost库,下面示例中函数的返回类型和变量应该是什么?

? func (void);
{
   boost::posix_time::ptime time_stamp;
   time_stamp = boost::posix_time::microsec_clock::universal_time; 
   return time_stamp;
}

int main()
{

   ? Var;
   Var = func();
}

1 个答案:

答案 0 :(得分:0)

使用boost::posix_time::ptime。您的原始代码有错误,universal_time是您需要调用的函数。我在下面的(未经测试的)代码中更改了它。

boost::posix_time::ptime func()
{
   boost::posix_time::ptime time_stamp = boost::posix_time::microsec_clock::universal_time(); 
   return time_stamp;
}

int main()
{    
   boost::posix_time::ptime Var = func();
   return 0;
}

此外,如果您使用的是C ++ 11,除func的功能签名外,您可以将boost::posix_time::ptime替换为auto

boost::posix_time::ptime func()
{
   return boost::posix_time::microsec_clock::universal_time(); 
}

int main()
{    
   auto Var = func();
}

(为方便起见,我喜欢使用boost::posix_time昵称namespace pt = boost::posix_time命名空间;这样会缩短为pt::ptime。)

有关提升日期/时间功能的详细概述,请参阅Chapter 36. Boost.DateTime