C++ 1x支持文字后缀(例如http://ecn.channel9.msdn.com/events/GoingNative12/GN12Cpp11Style.pdf)。我正在使用gcc 4.7,并希望为我们的系统引入一些单位。最值得注意的是,我们的代码中有一半使用度数,而另一半则使用弧度(由于各种第三方库),显然,这始终是错误的持续原因。能够说“弧度角= 90_deg;”会很有帮助。
我已经研究了如何实现它,并且看起来可行,但是要使所有内容正确都需要一些时间。因此,我想知道是否有一个已经完成/经过测试的实现,该实现已经实现了所有可以使用的实现(不需要每个C++开发人员重新实现它,就在那里?)。除了rad/deg,我还在寻找长度测量(mm,cm,m)。我已经在Google上搜索过,但没有找到可用的内容。
有人知道例如可以使用的SI系统?
最佳答案
使用boost.units。
您将获得预期的好处:能够安全处理以不同单位表示的指标。
使用boost单位的语法还不错:
quantity<length> dx(2.0*meter);
关于C++可用 "literal suffix code"为单位,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13320643/