From 69dbffe6582d7e8e1e3832475b5eca8bb3842c71 Mon Sep 17 00:00:00 2001 From: ashinewu <405831799@qq.com> Date: Fri, 10 Jan 2025 10:03:12 +0800 Subject: [PATCH] Update borrowing.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修改一处作者建议提的pr,让指向性更明确。(ps:修改符合作者常用的格式习惯;并做了效果验证) --- src/basic/ownership/borrowing.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/basic/ownership/borrowing.md b/src/basic/ownership/borrowing.md index 58f5db0d..c50fc036 100644 --- a/src/basic/ownership/borrowing.md +++ b/src/basic/ownership/borrowing.md @@ -206,7 +206,7 @@ error[E0502]: cannot borrow `s` as mutable because it is also borrowed as immuta 其实这个也很好理解,正在借用不可变引用的用户,肯定不希望他借用的东西,被另外一个人莫名其妙改变了。多个不可变借用被允许是因为没有人会去试图修改数据,每个人都只读这一份数据而不做修改,因此不用担心数据被污染。 -> 注意,引用的作用域 `s` 从创建开始,一直持续到它最后一次使用的地方,这个跟变量的作用域有所不同,变量的作用域从创建持续到某一个花括号 `}` +> 注意,引用 `r1`,`r2`,`r3` 的作用域从创建开始,一直持续到它最后一次使用的地方 `println!(....)`,这个跟变量的作用域有所不同,变量的作用域从创建持续到某一个花括号 `}` Rust 的编译器一直在优化,早期的时候,引用的作用域跟变量作用域是一致的,这对日常使用带来了很大的困扰,你必须非常小心的去安排可变、不可变变量的借用,免得无法通过编译,例如以下代码: