小编Sar*_*gis的帖子

Rust多次可变借用

我正在尝试Rust并且在理解"借用"方面存在问题.

struct Foo<T> {
    data: T,
}

impl<T> Foo<T> {
    fn new(data: T) -> Self {
        Foo {
            data: data,
        }
    }
}

fn main() {
    let mut foo = Foo::new("hello");

    let x = &mut foo;
    let y = &mut foo;

    println!("{}", foo.data);

}
Run Code Online (Sandbox Code Playgroud)

为什么这段代码编译没有错误?毕竟,我得到了多个可变引用foo.以下内容写入文档:

参考规则
让我们回顾一下我们讨论的关于参考文献的内容:

a)在任何给定时间,您可以拥有(但不是两个)一个可变引用或任意数量的不可变引用.

b)参考文献必须始终有效.

这种行为的原因是什么?谢谢!

mutable rust borrowing

3
推荐指数
2
解决办法
312
查看次数

标签 统计

borrowing ×1

mutable ×1

rust ×1