pull/1505/merge
ashinewu 4 weeks ago committed by GitHub
commit 8f4b44848d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -206,7 +206,7 @@ error[E0502]: cannot borrow `s` as mutable because it is also borrowed as immuta
其实这个也很好理解,正在借用不可变引用的用户,肯定不希望他借用的东西,被另外一个人莫名其妙改变了。多个不可变借用被允许是因为没有人会去试图修改数据,每个人都只读这一份数据而不做修改,因此不用担心数据被污染。
> 注意,引用的作用域 `s` 从创建开始,一直持续到它最后一次使用的地方,这个跟变量的作用域有所不同,变量的作用域从创建持续到某一个花括号 `}`
> 注意,引用 `r1`,`r2`,`r3` 的作用域从创建开始,一直持续到它最后一次使用的地方 `println!(....)`,这个跟变量的作用域有所不同,变量的作用域从创建持续到某一个花括号 `}`
Rust 的编译器一直在优化,早期的时候,引用的作用域跟变量作用域是一致的,这对日常使用带来了很大的困扰,你必须非常小心的去安排可变、不可变变量的借用,免得无法通过编译,例如以下代码:

Loading…
Cancel
Save