diff --git a/book/contents/advance/smart-pointer/deref.md b/book/contents/advance/smart-pointer/deref.md index f8965fd8..a55f85d1 100644 --- a/book/contents/advance/smart-pointer/deref.md +++ b/book/contents/advance/smart-pointer/deref.md @@ -1,7 +1,7 @@ # Deref 解引用 -何为智能指针?能不让你写出 &&&&&&s 形式的解引用,我认为就是智能: ),智能指针的名称来源,主要就在于它实现了 `Deref` 和 `Drop` 特征,这两个特征可以智能地帮助我们节省使用上的负担: +何为智能指针?能不让你写出 ******s 形式的解引用,我认为就是智能: ),智能指针的名称来源,主要就在于它实现了 `Deref` 和 `Drop` 特征,这两个特征可以智能地帮助我们节省使用上的负担: -- `Deref` 可以让智能指针像引用那样工作,这样你就可以写出同时支持智能指针和引用的代码,例如 `&T` +- `Deref` 可以让智能指针像引用那样工作,这样你就可以写出同时支持智能指针和引用的代码,例如 `*T` - `Drop` 允许你指定智能指针超出作用域后自动执行的代码,例如做一些数据清除等收尾工作 下面先来看看 `Deref` 特征是如何工作的。 diff --git a/book/contents/advance/smart-pointer/intro.md b/book/contents/advance/smart-pointer/intro.md index 3b4b1769..e82394e2 100644 --- a/book/contents/advance/smart-pointer/intro.md +++ b/book/contents/advance/smart-pointer/intro.md @@ -14,7 +14,7 @@ Rust 标准库中定义的那些智能指针,虽重但强,可以提供比引 智能指针往往是基于结构体实现,它与我们自定义的结构体最大的区别在于它实现了 `Deref` 和 `Drop` 特征: -- `Deref` 可以让智能指针像引用那样工作,这样你就就可以写出同时支持智能指针和引用的代码,例如 `&T` +- `Deref` 可以让智能指针像引用那样工作,这样你就就可以写出同时支持智能指针和引用的代码,例如 `*T` - `Drop` 允许你指定智能指针超出作用域后自动执行的代码,例如做一些数据清除等收尾工作 智能指针在 Rust 中很常见,我们在本章不会全部讲解,而是挑选几个最常用、最有代表性的进行讲解: