6

C ++ 1xは、リテラルサフィックスをサポートします(cmp。例:http ://ecn.channel9.msdn.com/events/GoingNative12/GN12Cpp11Style.pdf )。gcc 4.7を使用していますが、システムにいくつかのユニットを導入したいと思います。最も注目すべきは、コードの半分が度を使用し、残りの半分がラジアンを使用していることです(さまざまなサードパーティライブラリのため)。明らかに、これは常に間違いの原因です。たとえば、「ラジアン角度=90_deg;」と言うことができます。とても役に立ちます。

これを実装する方法を調べましたが、実行可能に見えますが、すべてを正しく行うには時間がかかります。ですから、使用できるこれらすべてをすでに実装している完成した/テスト済みの実装があるかどうか疑問に思います(すべてのC ++開発者がそれを再実装する必要はありませんか?)。ラジアン/度以外に、長さの測定値(mm、cm、m)を探しています。私はすでにグーグルで検索しましたが、使用できるものは見つかりませんでした。

使用できるSIシステムなどの実装を知っている人はいますか?

4

1 に答える 1

2

boost.unitsを使用します。

期待されるメリットが得られます。さまざまな単位で表されたメトリックを安全に処理できることです。
ブーストユニットの構文はそれほど悪くありません。

quantity<length>    dx(2.0*meter);
于 2012-11-13T15:09:43.757 に答える