diff --git a/src/ch15-05-interior-mutability.md b/src/ch15-05-interior-mutability.md index 68c0909..d827cc0 100644 --- a/src/ch15-05-interior-mutability.md +++ b/src/ch15-05-interior-mutability.md @@ -56,8 +56,8 @@ RefCell is, perhaps a succinct round up would help? --> 如下为选择 `Box`,`Rc` 或 `RefCell` 的理由: - `Rc` 允许相同数据有多个所有者;`Box` 和 `RefCell` 有单一所有者。 -- `Box` 允许在编译时检查的不可变或可变借用;`RefCell` 允许在运行时价差的不可变或可变借用 -- 因为 `RefCell` 允许在运行时检查的可变借用,可以在即便 `RefCell` 自身是不可变的情况下修改其内部的值。 +- `Box` 允许在编译时执行不可变(或可变)借用检查;`Rc`仅允许在编译时执行不可变借用检查;`RefCell` 允许在运行时执行不可变(或可变)借用检查。 +- 因为 `RefCell` 允许在运行时执行可变借用检查,所以我们可以在即便 `RefCell` 自身是不可变的情况下修改其内部的值。 最有一个理由便是指 **内部可变性** 模式。让我们看看何时内部可变性是有用的,并讨论这是如何成为可能的。