1
我想在我的代碼中使用boost :: units來定義類型RoundsPerMinute。不過,我並不真正瞭解如何做到這一點。Boost:rpm的typedef
我已經通過
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?
線的東西,但我不知道如何定義這些類型 - 坦率地說整個升壓文檔是太多技術爲我瞭解:-(如果有人能幫助我的定義,這將是巨大的
感謝您指出我與H ž。我試圖使用它,它似乎適用於基本的東西。但是,我不應該能夠做1 /赫茲來獲得一次迭代所需的時間嗎?這與未知的運營商/失敗。 – Frankie
@Frankie:這沒有道理。你做'1 /變量'來獲得另一個變量。但赫茲是一種類型(正如RPM一樣,都是頻率類型)。 – MSalters
當然我的意思是 boost :: units :: quantity freq = 2 * hertz; boost :: units :: quantity sec = 1/freq; 我期望得到sec.value()== 0.5。 –
Frankie