c++ - 成员函数 vs 运算符重载

标签 c++ operator-overloading member-functions

<分区>

如果编程语言允许,我应该总是重载运算符,还是创建一个成员函数更好?

例如: bool 运算符 ==(...) {...} 或者 bool equals(...){...}

最佳答案

如果运算符直接映射到函数的含义,那么建议使用运算符,例如

  • == 而不是 equals 因为它比较相等性,
  • + 而不是 add 如果它正在添加例如数学 vector ,
  • 但不是 + 而不是 add 如果它是例如附加到列表。

关于c++ - 成员函数 vs 运算符重载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42831699/

相关文章:

c++ - 运算符重载 C++

c++ - boost::bind 到类成员函数

javascript - 在该对象的函数中迭代该对象的所有成员

c++ - 转发成员函数到静态方法

c++ - 包含指针的 vector

c++ - 重载 = 运算符(operator),无法让它工作

c++ - 通过 `&&` 传递的参数对非构造函数有用吗?

c++ - 可以为 FILE& 定义 operator<< 或 operator>> 吗?

c++ - 模板双重编译?

c++ - 具有重叠子部件的 Qt 自定义部件