gpt4 book ai didi

rust - 有没有办法通过不可变切片中的可变引用来改变对象?

转载 作者:行者123 更新时间:2023-12-01 23:23:03 25 4
gpt4 key购买 nike

我有 &[&mut Foo]。我可以在这个切片中调用 Foo 的 &mut self 方法吗?

最佳答案

不,你不能。

不可变引用正式称为“共享”引用:您可以对同一对象拥有多个共享引用。另一方面,可变引用是独占的,因此不允许对一个对象进行多个可变引用。这些规则旨在帮助避免数据竞争。

一旦对象位于共享引用之后,它就是不可变的。否则,您实际上可以拥有对单个对象的多个可变引用,从而导致数据竞争。

如果您真的想要这样的东西,请查看模块 std::cell 的文档。

关于rust - 有没有办法通过不可变切片中的可变引用来改变对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67658478/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com