我正在使用BOOST_STRONG_TYPEDEF
宏,该宏创建了一个类,重载了operator==
。 我想知道是否还需要重载operator!=
?
我正在使用BOOST_STRONG_TYPEDEF
宏,该宏创建了一个类,重载了operator==
。 我想知道是否还需要重载operator!=
?
答案:不!
原因(我一开始没有注意到)是BOOST_STRONG_TYPEDEF使用了Boost运算符(http://www.boost.org/doc/libs/1_38_0/libs/utility/operators.htm),具体来说是totally_ordered1和totally_ordered2。因此,小于和等于比较运算符已经为您实现。
不是这样的。这些运算符是完全独立的,如果你不使用它,你可以重载其中一个但不能重载另一个。