小编s1g*_*egv的帖子

为什么通过指针对同一值的多个可变引用在 Rust 中是合法的

我正在努力理解 Rust 的所有权和借用模型,但对以下内容感到困惑:

let mut x: i32 = 1;
let ref_x = &mut x;
let refref_x = &mut *ref_x;
*refref_x = 2;
*ref_x = 3;
Run Code Online (Sandbox Code Playgroud)

据我所知,我实际上正在创建两个单独的可变引用x。为什么这段代码在避免通过指针间接寻址并仅将第 3 行更改为

let refref_x = &mut x;
Run Code Online (Sandbox Code Playgroud)

显然不是?我是否误解了中心概念,或者编译器是否在后台添加了一些魔法?

reference ownership rust

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

标签 统计

ownership ×1

reference ×1

rust ×1