【问题标题】:Define minutes unit定义分钟单位
【发布时间】:2015-12-22 22:27:55
【问题描述】:

这是来自另一个 question 的一些代码,它将 29.0 分钟增加到 60.0 秒,并以小时为单位显示结果:

cout <<
    static_cast<quantity<hour_base_unit::unit_type>>
    (quantity<time>{29.0 * minute_base_unit::unit_type()} + 60.0 * seconds)
    << endl;

定义minutes的推荐方式是什么,这样上面的表达式可以写成:

cout <<
    static_cast<quantity<hour_base_unit::unit_type>>
    (29.0 * minutes + 60.0 * seconds)
    << endl;

【问题讨论】:

标签: c++ boost boost-units


【解决方案1】:

如果可以的话,我会推荐使用 C++14 的 &lt;chrono&gt; 工具。他们人很好。 (我知道这在技术上不是他问题的答案,但它可能会为他节省很多工作。

#include <iostream>
#include <chrono>

int main () {
    using namespace std::chrono;
    std::cout << duration_cast<hours>(29min + 60s).count() << std::endl;
}

【讨论】:

  • 嗨马歇尔! chrono 绝对是非常好的。但是,我只是使用“小时、分钟、秒”,因为它们是熟悉的单位。我想对其他类型的单位做与上述类似的事情(添加英尺 + 米,以英寸为单位查看结果等)。 (PS:我喜欢 2014 年烧烤委员会的演讲!)
猜你喜欢
  • 1970-01-01
  • 2016-12-10
  • 1970-01-01
  • 1970-01-01
  • 2011-11-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多