我们能创建自定义Rust运算符吗?

时间:2013-05-24 22:46:05

标签: rust operator-overloading

我知道我们可以实现覆盖标准算术运算符的特征。我们还可以创建自己的特征来重载自定义运算符吗?我真的很喜欢Haskell用于定义运算符的系统。

1 个答案:

答案 0 :(得分:7)

不,每the manual个唯一可以重载的运算符是:

  
      
  • ! - 按位或逻辑补码
  •   
  • != - 非等式比较
  •   
  • % - 算术余数
  •   
  • %= - 算术余数和赋值
  •   
  • & - 按位AND
  •   
  • &= - 按位AND和分配
  •   
  • * - 算术乘法
  •   
  • *= - 算术乘法和赋值
  •   
  • + - 算术加法
  •   
  • += - 算术加法和赋值
  •   
  • - - 算术否定
  •   
  • - - 算术减法
  •   
  • -= - 算术减法和赋值
  •   
  • / - 算术分工
  •   
  • /= - 算术分工和作业
  •   
  • << - 左移
  •   
  • <<= - 左移和分配
  •   
  • < - 少于比较
  •   
  • <= - 小于或等于比较
  •   
  • == - 平等比较
  •   
  • > - 大于比较
  •   
  • >= - 大于或等于比较
  •   
  • >> - 右移
  •   
  • >>= - 右移和分配
  •   
  • ^ - 按位异或
  •   
  • ^= - 按位异或和分配
  •   
  • | - 按位OR
  •   
  • |= - 按位OR和赋值
  •