从概念上讲,在我看来,使用基于单位强制的类型(米、秒、千克)会带来巨大的好处(额外检查传递的参数,摆脱 vars 中的单位名称等),但我还没有遇到那么多代码确实如此。我看到的代码确实使用了自定义类型。
我看到 boost 有一个单位库(boost::units 很简单),但是,我没有看到太多证据表明它被广泛使用(在基本的谷歌搜索中)。
这有充分的理由吗?
这些似乎意味着一定有某种原因这种做法没有像我预期的那样被广泛采用。出于某种原因,也许比他们值得的麻烦更多?
所以我问:
是否有理由不使用单元强制类型?特别是有理由不使用 boost::units 吗?