将运算符定义为成员函数或者非成员函数的准则
bigfly Lv4
  • 赋值(-)、下标([])、调用(())和成员访问箭头(->)运算符必须是成员。
  • 符合赋值运算符一般来说是成员、但并非必须、这一点与赋值运算符略有不同。
  • 改变对象状态的运算符或者与给定类型密切相关的运算符,如递增、递减和解引用运算符,通常应该是成员。
  • 具有对称性的运算符可以转换为任意一端的运算对象、例如算数、相等性、关系和位运算符等。因此他们通常应该是普通的非成员函数。