我知道我们可以实现超越标准算术运算符的特性.我们是否也能创造出自己的特性,让自定义操作符负担过重?我非常喜欢Haskell定义运算符的系统.

推荐答案

不,每the manual个可以重载的操作符只有:

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

Rust相关问答推荐

为什么父作用域中的变量超出了子作用域

trait 中self 的显式生命周期似乎导致E0499无法在循环中多次borrow * emits 器作为可变的

在Tauri中获取ICoreWebView 2_7以打印PDF

为什么我的梅森素数代码的指数越大,速度就越快?

带扫描的铁 rust 使用滤镜

修改切片/引用数组

使用Rust WASM读取文件

`actix-web` 使用提供的 `tokio` 运行时有何用途?

将特征与具有生命周期的关联类型一起使用时的生命周期方差问题

`UnsafeCell` 在没有锁定的情况下跨线程共享 - 这可能会导致 UB,对吗?

在没有任何同步的情况下以非原子方式更新由宽松原子操作 Select 的值是否安全?

如何从trait方法返回std :: iter :: Map?

从光标位置旋转精灵

SDL2 没有在终端键上触发?

从 Cranelift 发出 ASM

Cargo:如何将整个目录或文件包含在功能标志中?

如何断言代码不会在测试中编译?

如何将 while 循环内的用户输入添加到 Rust 中的向量?

基于名称是否存在的条件编译

为什么在使用 self 时会消耗 struct 而在解构时不会?