Update Ch10

This commit is contained in:
Unisko PENG 2023-04-20 14:56:43 +08:00
parent ec43455db9
commit 0b1392adf9

View File

@ -1209,7 +1209,7 @@ error: could not compile `lifetimes_demo` due to previous error; 2 warnings emit
问题在于,那个 `result` 会在 `longest` 函数结束处超出作用域而被清理掉。而咱们还在尝试返回到该函数中 `result` 的引用。咱们没有办法指定出会纠正这个悬空引用的生命周期参数,而 Rust 也不会容许咱们创建出悬空引用。在这种情况下最佳修复将是返回有着所有权的数据类型而非某个引用这样看来引用是没有所有权的从而随后由调用函数the calling function负责清理该值。
后,生命周期语法,是有关将函数各个参数的生命周期,与函数返回值的生命周期连接起来的。一旦他们连接了起来,那么 Rust 就有了足够信息,来放行一些涉及内存安全的操作,以及蓝星那些会创建出悬空指针或其他危及内存安全的操作。
终,生命周期语法是关于把函数的不同参数与返回值的生命周期联系起来的。一旦他们联系起来,那么 Rust 就有了足够信息,来实现涉及内存安全的操作,并拦下会创建出悬空指针或危及内存安全的操作。
### 结构体定义中的生命周期注解