小编J.C*_*ona的帖子

对于整数类型,为什么 `sum += x` 与 `sum += *x` 的工作方式相同?这是自动取消引用吗?

未注释和注释的代码都产生相同的sum值。我不确定这里发生了什么,但我希望编译器在不使用取消引用时抛出错误。

fn main() {
    let a = vec![0, 1, 2, 3, 4];
    let mut sum = 0;

    for x in &a {
        sum += *x;
        // sum += x;
    }
}
Run Code Online (Sandbox Code Playgroud)

rust

3
推荐指数
1
解决办法
100
查看次数

标签 统计

rust ×1