生命周期
借用的值是有“生命周期”的:
- 生命周期可以是隐式的:add(p1: &Point, p2: &Point) -> Point`。
- 生命周期也可以是显式的:
&'a Point
、&'document str
。 - 将
&'a Point
读取为“借用的Point,至少 在
a` 生命周期内有效。 - 生命周期始终由编译器推断出来:你不能自行 分配生命周期。
- 生命周期注释会创建约束条件;编译器会验证 是否存在有效的解决方案。
- Lifetimes for function arguments and return values must be fully specified, but Rust allows lifetimes to be elided in most cases with a few simple rules.