Merge pull request #166 from JesseAtSZ/patch-6

Update borrowing.md
pull/171/head
Sunface 3 years ago committed by GitHub
commit 839e42ba33
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -225,7 +225,7 @@ fn main() {
### 悬垂引用Dangling References
所谓悬垂指针是其指向的内存可能已经被分配给其它持有者。相比之下,在 Rust 中编译器确保引用永远也不会变成悬垂状态:当你拥有一些数据的引用,编译器确保数据不会在其引用之前离开作用域
悬垂引用也叫做悬垂指针,指的是指针指向某个值后,这个值被释放掉了,而指针仍然存在,其指向的内存可能不存在任何值或已被其它变量重新使用。在 Rust 中编译器可以确保引用永远也不会变成悬垂状态:当你拥有一些数据的引用,编译器可以确保数据不会在其引用之前被释放,要想释放数据,必须先停止其引用的使用
让我们尝试创建一个悬垂引用Rust会抛出一个编译时错误
@ -258,7 +258,7 @@ help: consider using the `'static` lifetime
```
错误信息引用了一个我们还未介绍的功能生命周期lifetimes。[该章](../../advance/lifetime.md)会详细介绍生命周期。不过,如果你不理会生命周期部分,错误信息中确实包含了为什么这段代码有问题的关键信息:
错误信息引用了一个我们还未介绍的功能生命周期lifetimes。[该章](../../advance/lifetime.md)会详细介绍生命周期。不过,即使你不理解生命周期,也可以通过错误信息知道这段代码错误的关键信息:
```text
this function's return type contains a borrowed value, but there is no value for it to be borrowed from.

Loading…
Cancel
Save