Update advance.md

pull/217/head
wakk3107 3 years ago committed by GitHub
parent f8976b8bb7
commit 7104f05481
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -246,7 +246,7 @@ fn main() {
println!("{}", r3);
}
```
按照上述规则,这段代码将会报错,因为`r1`和`r2`的不可变引用将持续到`main`函数结束,而在此范围内,我们又借用了`r3`的可变引用,这违反了借用的规则 : 要么多个可变借用,要么一个可变借用。
按照上述规则,这段代码将会报错,因为`r1`和`r2`的不可变引用将持续到`main`函数结束,而在此范围内,我们又借用了`r3`的可变引用,这违反了借用的规则 : 要么多个可变借用,要么一个可变借用。
好在该规则从1.31版本引入NLL后就变成了**引用的生命周期从借用处开始,一直持续到最后一次使用的地方**。
@ -510,4 +510,4 @@ fn use_list(list: &List) {
```
至此生命周期终于完结两章超级长的内容可以满足几乎所有对生命周期的学习目标。学完生命周期意味着你正式入门了Rust只要再掌握几个常用概念就可以上手写项目了下面让我们看看在实际项目中极其常见的功能 - 迭代器.
至此生命周期终于完结两章超级长的内容可以满足几乎所有对生命周期的学习目标。学完生命周期意味着你正式入门了Rust只要再掌握几个常用概念就可以上手写项目了下面让我们看看在实际项目中极其常见的功能 - 迭代器.

Loading…
Cancel
Save