Merge pull request #379 from EchoHg/patch-1

Weak的`upgrade`方法返回类型多了一个>
pull/385/head
Sunface 3 years ago committed by GitHub
commit 6759efc307
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -100,7 +100,7 @@ fatal runtime error: stack overflow
那么问题来了? 如果我们确实需要实现上面的功能,该怎么办?答案是使用`Weak`。
## Weak
`Weak` 非常类似于 `Rc`,但是与 `Rc` 持有所有权不同,`Weak` 不持有所有权,它仅仅保存一份指向数据的弱引用:如果你想要访问数据,需要通过 `Weak` 指针的 `upgrade` 方法实现,该方法返回一个类型为 `Option><Rc<T>>` 的值。
`Weak` 非常类似于 `Rc`,但是与 `Rc` 持有所有权不同,`Weak` 不持有所有权,它仅仅保存一份指向数据的弱引用:如果你想要访问数据,需要通过 `Weak` 指针的 `upgrade` 方法实现,该方法返回一个类型为 `Option<Rc<T>>` 的值。
看到这个返回,相信大家就懂了:何为弱引用?就是**不保证引用关系依然存在**,如果不存在,就返回一个 `None`

Loading…
Cancel
Save