每次调用重载运算符时,是否可以以某种方式调用默认函数?
例如,您有一个类,其中包含以米或码为单位的值,并且您希望在应用重载运算符之前检查它们是否具有相等的单位。现在我在每个重载的操作符定义中都使用checkCompatibility()
- 函数,但如果任何重载的二进制操作自动发生,那将会很方便。
答案 0 :(得分:1)
没有这样的功能,但Boost.Units旨在解决单位转换问题(在编译时)。您的函数将以quantity<length>
作为参数,并且库确保传入的任何内容都是兼容的并处理单位的转换。