我是Rust的新手,我不理解以下代码:
let mut x = 5;
{
let y = &mut x;
*y += 1;
}
println!("{}", x);
Run Code Online (Sandbox Code Playgroud)
Rust网站的说明:
您还会注意到,我们增加了一个星号(
*前面)y,使得它*y,这是因为y是一个&mut参考。您还需要使用astrisks [sic]访问引用的内容。
如果*y是参考,以下代码为何起作用
fn main() {
let mut x = 5;
{
let y = &mut x;
println!("{}", y);
}
}
Run Code Online (Sandbox Code Playgroud)
我知道我没有在这里修改值,但是有什么区别,为什么y += 1;不起作用?
rust ×1