mirror of
https://github.com/rust-lang-cn/book-cn.git
synced 2025-01-23 15:40:27 +08:00
Update ch15-02-deref.md
This commit is contained in:
parent
db0fe0c209
commit
58f744a567
@ -155,7 +155,7 @@ Rust 将 `*` 运算符替换为先调用 `deref` 方法再进行普通解引用
|
|||||||
|
|
||||||
**解引用强制多态**(_deref coercions_)是 Rust 在函数或方法传参上的一种便利。解引用强制多态只能工作在实现了Deref trait的类型上。解引用强制多态将一种类型(A)隐式转换为另外一种类型(B)的引用,因为A类型实现了Deref trait,并且其关联类型是B类型。比如,解引用强制多态可以将&String转换为&str,因为类型String实现了Deref trait并且其关联类型是str。代码如下:
|
**解引用强制多态**(_deref coercions_)是 Rust 在函数或方法传参上的一种便利。解引用强制多态只能工作在实现了Deref trait的类型上。解引用强制多态将一种类型(A)隐式转换为另外一种类型(B)的引用,因为A类型实现了Deref trait,并且其关联类型是B类型。比如,解引用强制多态可以将&String转换为&str,因为类型String实现了Deref trait并且其关联类型是str。代码如下:
|
||||||
|
|
||||||
```rust
|
```rust,ignore
|
||||||
#[stable(feature = "rust1", since = "1.0.0")]
|
#[stable(feature = "rust1", since = "1.0.0")]
|
||||||
impl ops::Deref for String {
|
impl ops::Deref for String {
|
||||||
type Target = str;
|
type Target = str;
|
||||||
|
Loading…
Reference in New Issue
Block a user