- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这个问题在这里已经有了答案:
What is the relation between auto-dereferencing and deref coercion?
(1 个回答)
2年前关闭。
给定一个 rust 选项:
let mut x = Some(3);
x.as_mut()
?正如我从
the doc 中看到的那样,
as_mut
定义为:
pub fn as_mut(&mut self) -> Option<&mut T>
Converts from &mut Option to Option<&mut T>.
&mut self
,即
&mut Option<T>
.我不应该使用
(&mut x).as_mut()
反而?
最佳答案
这里是 Rust 的 .
运算符按照您的意思执行并隐式借用变量。如果没有,使用非借用值会很烦人,因为一个值声明为例如let mut v = vec![1, 2, 3]
无法使用 v.push(4)
进行操作无需先借v
.同样的限制也适用于字段,因此如果结构包含向量,您将无法调用 container.vec.push(element)
无需先借container.vec
(即使 container
本身已经是一个引用)。
为了防止这种噪音,C 有两个用于字段访问的运算符,.
和 ->
,后者自动取消引用。 rust 的 .
故意继续并执行方法调用所需的借用或取消引用。
关于rust - 理解 rust Option as_mut 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59537128/
从 Pin::as_mut 的来源- pin.rs: impl Pin { ... pub fn as_mut(&mut self) -> Pin { unsaf
这个问题在这里已经有了答案: What is the relation between auto-dereferencing and deref coercion? (1 个回答) 2年前关闭。 给定
Rust 生命周期再次让我感到困惑。我正在尝试返回对我拥有的盒装对象的可变引用。这是我的问题简化: pub trait Foo { fn foo(&self); } pub struct Ba
背景 考虑一个玩具问题,其中我有一个 Node表示链接列表节点的结构,并且我想创建一个函数来构建一个值从 1 到 9 的列表。以下代码按预期工作: struct Node { val: i32
我是一名优秀的程序员,十分优秀!