1

我试图在我的代码中使用 boost::units 来定义 RoundsPerMinute 类型。但是我并不真正了解如何做到这一点。

我已经定义了一分钟

using boost::units::si::seconds;

typedef boost::units::make_scaled_unit < boost::units::si::time, boost::units::scale<60, boost::units::static_rational<1> > >::type minute;
BOOST_UNITS_STATIC_CONSTANT(minutes, minute);

typedef boost::units::quantity<minute, float> Minute;

现在可以做例如

Minute m = 5*minutes;

我现在想做的是类似的事情

RoundsPerMinute rpm1 = 50 * rpm;
RoundsPerMinute rpm2 = 100 / (2*minutes);
Minute m = 1/rpm2; // how many minutes does it take for one round?

但我不确定如何定义这些类型 - 坦率地说,整个 boost 文档对我来说太技术性了,我无法理解 :-( 如果有人可以帮助我定义这些类型,那就太好了。

4

1 回答 1

2

1 RPM 仅为 1/60 赫兹 - 见boost::units::si::hertz

于 2013-07-09T07:31:05.090 回答