Rust 程序设计语言 简体中文版 1.85.0
collector,GC)的语言中, GC 记录并清除不再使用的内存,而我们并不需要关心它。在大部分没有 GC 的语言中,识别 出不再使用的内存并调用代码显式释放就是我们的责任了,跟请求内存的时候一样。从历史的 角度上说正确处理内存回收曾经是一个困难的编程问题。如果忘记回收了会浪费内存。如果过 70/562Rust 程序设计语言 简体中文版 早回收了,将会出现无效变量。如果重复回收,这也是个 bug。我们需要精确的为一个 允许我们引用父模块中 的已知项,这使得当模块与父模块关联的很紧密,但某天父模块可能要移动到模块树的其它位 置时重新组织模块树变得更容易。 考虑一下示例 7-8 中的代码,它模拟了厨师更正了一个错误订单并亲自将其提供给客户的情 况。back_of_house 模块中的定义的 fix_incorrect_order 函数通过指定的 super 起始的 deliver_order 路径来调用父模块中的 } } &s[..] } 示例 10-25:示例 4-9 定义了一个没有使用生命周期注解的函数,即便其参数和返回值都是引 用 这个函数没有生命周期注解却能编译是由于一些历史原因:在早期版本(pre-1.0)的 Rust 中,这的确是不能编译的。每一个引用都必须有明确的生命周期。那时的函数签名将会写成这 样: fn first_word<'a>(s: &'a str)0 码力 | 562 页 | 3.23 MB | 8 天前3
共 1 条
- 1