Warum funktioniert der Binary + -Operator nicht mit two & mut int?
fn increment(number: &mut int) {
// this fails with: binary operation `+` cannot be applied to type `&mut int`
//let foo = number + number;
let foo = number.add(number);
println!("{}", foo);
}
fn main() {
let mut test = 5;
increment(&mut test);
println!("{}", test);
}
Warum tutnumber + number
scheitern abernumber.add(number)
funktioniert?
Als Bonusfrage: Der obige Ausdruck
10
5
Habe ich Recht, das anzunehmen?test
ist immer noch 5, weil die Daten sindkopiert um zu erhöhen? Der einzige Weg, dass das Originaltest
Variable könnte durch die mutiert werdenincrement
funktion wäre wenn es als senden wäreBox<int>
, richtig?