mirror of
https://github.com/KaiserY/trpl-zh-cn
synced 2025-02-23 21:02:18 +08:00
improve some translation and fix typo in ch15
This commit is contained in:
parent
feb446e331
commit
9627aa9965
@ -242,7 +242,7 @@ impl Messenger for MockMessenger {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
<span class="caption">示例 15-26:在同一作用域中创建两个可变引用并观察 `RefCell<T>` panic</span>
|
<span class="caption">示例 15-23:在同一作用域中创建两个可变引用并观察 `RefCell<T>` panic</span>
|
||||||
|
|
||||||
这里为 `borrow_mut` 返回的 `RefMut` 智能指针创建了 `one_borrow` 变量。接着用相同的方式在变量 `two_borrow` 创建了另一个可变借用。这会在相同作用域中创建一个可变引用,这是不允许的。当运行库的测试时,示例 15-23 编译时不会有任何错误,不过测试会失败:
|
这里为 `borrow_mut` 返回的 `RefMut` 智能指针创建了 `one_borrow` 变量。接着用相同的方式在变量 `two_borrow` 创建了另一个可变借用。这会在相同作用域中创建一个可变引用,这是不允许的。当运行库的测试时,示例 15-23 编译时不会有任何错误,不过测试会失败:
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
> <br>
|
> <br>
|
||||||
> commit 1fedfc4b96c2017f64ecfcf41a0a07e2e815f24f
|
> commit 1fedfc4b96c2017f64ecfcf41a0a07e2e815f24f
|
||||||
|
|
||||||
Rust 的内存安全保证使其难以意外的制造永远也不会被清理的内存(被称为 **内存泄露**(*memory leak*)),但并不是不可能。完全的避免内存泄露并不是同在编译时拒绝数据竞争一样为 Rust 的保证之一,这意味着内存泄露在 Rust 被认为是内存安全的。这一点可以通过 `Rc<T>` 和 `RefCell<T>` 看出:有可能会创建个个项之间相互引用的引用。这会造成内存泄露,因为每一项的引用计数将永远也到不了 0,其值也永远也不会被丢弃。
|
Rust 的内存安全保证使其难以意外地制造永远也不会被清理的内存(被称为 **内存泄露**(*memory leak*)),但并不是不可能。完全地避免内存泄露并不是同在编译时拒绝数据竞争一样为 Rust 的保证之一,这意味着内存泄露在 Rust 被认为是内存安全的。这一点可以通过 `Rc<T>` 和 `RefCell<T>` 看出:有可能会创建个个项之间相互引用的引用。这会造成内存泄露,因为每一项的引用计数将永远也到不了 0,其值也永远也不会被丢弃。
|
||||||
|
|
||||||
### 制造引用循环
|
### 制造引用循环
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user