1

这是另一个问题的一些代码,它将 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;
4

1 回答 1

2

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

#include <iostream>
#include <chrono>

int main () {
    using namespace std::chrono;
    std::cout << duration_cast<hours>(29min + 60s).count() << std::endl;
}
于 2015-12-23T02:00:18.297 回答