From f80872679024057637c577011d9672b500a5cb72 Mon Sep 17 00:00:00 2001 From: vhtmui <798088486@qq.com> Date: Mon, 20 Jan 2025 00:34:48 +0800 Subject: [PATCH] deref --- docs/Rust.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/Rust.md b/docs/Rust.md index a35867a..df1deda 100644 --- a/docs/Rust.md +++ b/docs/Rust.md @@ -601,3 +601,9 @@ rust没有为基本类型提供隐式的自动类型转换,而是使用`as`进 * FnMut要求闭包是`mut`的。 * 如果闭包参数被注释了`FnOnce`,那它就可以捕获`不可变引用、可变引用和获取所有权`。因为`FnOnce`首先要求闭包获取所有权,如果实现闭包能获取所有权,那也能获取可变和不可变引用。相反,注释`Fn`的闭包则不能获取`不可变引用、可变引用和所有权`,因为它首先要求只捕获不可变引用。 * `move`关键词决定了闭包通过移动的`方式`捕获变量,但没有指定闭包实现的`trait`。闭包实现的`trait`由编译器根据闭包对捕获变量的使用方式自动推导,`Fn trait`只代表了闭包可以捕获变量的尽可能宽松的方式,这也说明,实现`Fn`trait的闭包并不一定没有捕获变量的所有权。 + +## 智能指针 + +### Deref解引用 + +解引用操作不会获取数据的所有权。