diff --git a/book/contents/advance/smart-pointer/deref.md b/book/contents/advance/smart-pointer/deref.md index a4b7cb6e..f8965fd8 100644 --- a/book/contents/advance/smart-pointer/deref.md +++ b/book/contents/advance/smart-pointer/deref.md @@ -128,7 +128,7 @@ fn display(s: &str) { - `String` 实现了 `Deref` 特征,能被转换成一个 `&str` - `s` 是一个 `String` 类型,当它被传给 `display` 函数时,自动通过 `Deref` 转换成了 `&str` -- 必须使用 `&s` 的方式来触发 `Deref`(`&s` 相当于调用 `s` 的 `deref` 方法) +- 必须使用 `&s` 的方式来触发 `Deref`(仅引用类型的实参才会触发自动解引用) #### 连续的隐式 Deref 转换 如果你以为 `Deref` 仅仅这点作用,那就大错特错了。`Deref` 可以支持连续的隐式转换,直到找到适合的形式为止: