cpx*_*cpx 12 c++ operator-overloading operators logical-operators
重载&&,||是一个坏主意 或逗号运算符和为什么?
Fre*_*Foo 14
我不会超载operator&&或operator||.即使你定义了一个产生布尔代数的类(例如有限集),它也可能是一个更好的选择来重载operator&和operator|.
原因是C++程序员期望特殊语义operator&&和operator||:它们是短路的,即如果没有必要则不评估它们的右手参数.您不能通过重载来获得此行为,因为您将定义一个函数.
operator,在例如Boost.Assign库中已经完成了重载.这也是我所知道的超载的唯一例子,我自己从未考虑过载.你最好有一个非常具体的用例,没有其他运算符适合.