我正在阅读The Rust Programming Language,有一点不清楚:
let mut mut_value = 6;
match mut_value {
ref mut m => {
*m += 10;
println!("We added 10. `mut_value`: {:?}", m);
},
}
为什么我们需要取消引用它来改变它?我们已经有了一个可变的参考文献。
答案 0 :(得分:7)
引用是地址指针。如果您只是m += 10
,那么您就是要更改内存地址(Rust不允许您在没有unsafe
的情况下执行此操作)。您要做的是更改m
处的值。那么价值在哪里呢?按照指针!您可以通过解除引用来完成此操作。