`让 y = x` 与 `让 &y = &x`

问题描述 投票:0回答:1

以下两个作业有什么区别?

    let mut x = 1;
    let mut y = x; // (1)
    let &mut mut y = &mut x; // (2)

看起来他们的行为是一样的。 #2 是否为您提供了 #1 所没有的附加功能?

(这里的

mut
让人困惑,但重点是两边没有
&
和两边都有
&
的区别)

rust reference
1个回答
0
投票
  1. 第一个初始化一个可变变量。
    x
    的所有权已确立
  2. 第二个创建一个新的可变变量
    y
    并将
    x
    的值赋给它。
    x
    y
    是独立的,因此其中一个值的任何变化都不会影响另一个
  3. 第三个是错误,它尝试多次借用可变变量
© www.soinside.com 2019 - 2024. All rights reserved.