From 745b6c802ad2ad9c55e4de9930b489ce4d5318dd Mon Sep 17 00:00:00 2001 From: gty4 <110708665+gty4@users.noreply.github.com> Date: Tue, 27 Sep 2022 23:49:14 +0800 Subject: [PATCH] Update ch08-01-vectors.md --- src/ch08-01-vectors.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ch08-01-vectors.md b/src/ch08-01-vectors.md index 002c148..26157a3 100644 --- a/src/ch08-01-vectors.md +++ b/src/ch08-01-vectors.md @@ -92,7 +92,7 @@ Rust 提供了两种引用元素的方法的原因是当尝试使用现有元素 {{#include ../listings/ch08-common-collections/listing-08-07/output.txt}} ``` -示例 8-7 中的代码看起来应该能够运行:为什么第一个元素的引用会关心 vector 结尾的变化?不能这么做的原因是由于 vector 的工作方式:在 vector 的结尾增加新元素时,在没有足够空间将所有所有元素依次相邻存放的情况下,可能会要求分配新内存并将老的元素拷贝到新的空间中。这时,第一个元素的引用就指向了被释放的内存。借用规则阻止程序陷入这种状况。 +示例 8-7 中的代码看起来应该能够运行:为什么第一个元素的引用会关心 vector 结尾的变化?不能这么做的原因是由于 vector 的工作方式:在 vector 的结尾增加新元素时,在没有足够空间将所有元素依次相邻存放的情况下,可能会要求分配新内存并将老的元素拷贝到新的空间中。这时,第一个元素的引用就指向了被释放的内存。借用规则阻止程序陷入这种状况。 > 注意:关于 `Vec` 类型的更多实现细节,请查看 [“The Rustonomicon”][nomicon]