Update borrowing.md

pull/166/head
Jesse 3 years ago committed by GitHub
parent eff778e1c5
commit 72ef4d9872
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

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

Loading…
Cancel
Save