如何在自定义类型中使用"+="这样的复合运算符?
通过实现Add
, Sub
, etc,可以重载一些基本运算符.但似乎对+=
没有任何支持,x += y
也不会自动解释为x = x + y
(从1.0 alpha版本开始).
如何在自定义类型中使用"+="这样的复合运算符?
通过实现Add
, Sub
, etc,可以重载一些基本运算符.但似乎对+=
没有任何支持,x += y
也不会自动解释为x = x + y
(从1.0 alpha版本开始).
这一点现在得到了支持,称为AddAssign
(SubAssign
、MulAssign
…等等).
这是一个基本的例子:
use std::ops::{Add, AddAssign};
struct Float2(f64, f64);
impl AddAssign for Float2 {
fn add_assign(&mut self, rhs: Float2) {
self.0 += rhs.0;
self.1 += rhs.1;
}
}
未被发送