C++可用于单位的"文字后缀代码"

Fra*_*kie 6 c++ user-defined-literals c++11

C++ 1X支持字面后缀(CMP.例如http://ecn.channel9.msdn.com/events/GoingNative12/GN12Cpp11Style.pdf).我正在使用gcc 4.7并想为我们的系统介绍一些单元.最值得注意的是一半的我们的代码使用度,而另一半弧度(由于各种第三方库),显然这始终是错误的恒定原因.能说例如"Radian angle = 90_deg;" 会很有帮助的.

我已经研究过如何实现它并且它看起来可行,但是需要一些时间才能使一切正常.所以我想知道是否有完成/测试的实现已经实现了所有这些可以使用(不需要每个C++开发人员重新实现它,是吗?).除了rad/deg,我正在寻找长度测量值(mm,cm,m).我已经谷歌搜索,但没有发现任何可用的东西.

有人知道可以使用的SI系统的实现吗?

log*_*og0 2

使用boost.units

您将获得预期的好处:能够安全地处理以不同单位表示的指标。
使用 boost 单元的语法并没有那么糟糕:

quantity<length>    dx(2.0*meter);
Run Code Online (Sandbox Code Playgroud)