From 168c79095fd543afbdfa0a646578e5ef06f7b1ab Mon Sep 17 00:00:00 2001 From: EchoAI Date: Sat, 5 Feb 2022 21:36:34 +0800 Subject: [PATCH] =?UTF-8?q?Weak=E7=9A=84`upgrade`=E6=96=B9=E6=B3=95?= =?UTF-8?q?=E8=BF=94=E5=9B=9E=E7=B1=BB=E5=9E=8B=E5=A4=9A=E4=BA=86=E4=B8=80?= =?UTF-8?q?=E4=B8=AA>?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 该方法返回一个类型为 `Option>>` 的值。 调整为:该方法返回一个类型为 `Option>` 的值。 --- book/contents/advance/circle-self-ref/circle-reference.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/book/contents/advance/circle-self-ref/circle-reference.md b/book/contents/advance/circle-self-ref/circle-reference.md index 2dce3b23..41042f90 100644 --- a/book/contents/advance/circle-self-ref/circle-reference.md +++ b/book/contents/advance/circle-self-ref/circle-reference.md @@ -100,7 +100,7 @@ fatal runtime error: stack overflow 那么问题来了? 如果我们确实需要实现上面的功能,该怎么办?答案是使用`Weak`。 ## Weak -`Weak` 非常类似于 `Rc`,但是与 `Rc` 持有所有权不同,`Weak` 不持有所有权,它仅仅保存一份指向数据的弱引用:如果你想要访问数据,需要通过 `Weak` 指针的 `upgrade` 方法实现,该方法返回一个类型为 `Option>>` 的值。 +`Weak` 非常类似于 `Rc`,但是与 `Rc` 持有所有权不同,`Weak` 不持有所有权,它仅仅保存一份指向数据的弱引用:如果你想要访问数据,需要通过 `Weak` 指针的 `upgrade` 方法实现,该方法返回一个类型为 `Option>` 的值。 看到这个返回,相信大家就懂了:何为弱引用?就是**不保证引用关系依然存在**,如果不存在,就返回一个 `None`!