作者热门文章
- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
有谁知道是否有将 boost::posix_time::ptime
转换为 __int64
值的好方法。 (我编译的是微秒版本,不是纳秒版本)。
我需要以某种方式执行此操作,因为我希望将生成的 __int64
存储在 union
类型中,该类型将原始数据用于高性能应用程序。像这样的某种 Memento 功能对我来说非常有用。如果可能的话,我想避免强制转换,但如果需要,我会求助于它们。
最佳答案
将 ptime 转换为整数是毫无意义的,因为 ptime 是实际时间的抽象。基于整数的时间是该时间的表示,作为一个纪元的计数。您(可能)想要做的是生成 time_duration从您的时间到您感兴趣的时代,然后使用 time_duration::ticks() 获取 64 位整数。您可能需要将结果缩放到所需的精度:
ptime myEpoch(date(1970,Jan,1)); // Or whatever your epocj is.
time_duration myTimeFromEpoch = myTime - myEpoch;
boost::int64_t myTimeAsInt = myTimeFromEpoch.ticks();
关于c++ - 一种将 boost::posix_time::ptime 转换为 __int64 的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1574647/
我正在尝试在 Matlab 中使用 mex 编译一个库。我能够部分编译这个东西,但是在最后一个文件中,mex 给出了关于两行的错误: typedef __int64 LONG64; typedef _
我很惊讶地发现我的 C++ 编译器还支持 __int8、__int16、__int32 和 __int64;但我只看到它们等同于 char、short、int 和 long long。它们有什么区别?
我是一名优秀的程序员,十分优秀!