深入理解所有权与借用——借用与生命周期管理-示例:

时间:2024-10-30 13:16:14
fn main() {
    let mut numbers = vec![1, 2, 3, 4];

    for n in &numbers { // 不可变借用
        println!("{}", n);
    }

    numbers.push(5); // 可变借用,安全
}
4.2 结合枚举与借用

在枚举中使用借用时,确保每个变体的生命周期标注正确,避免悬空引用。

  • 枚举与生命周期结合:使用枚举时,确保每个变体的生命周期标注正确,避免悬空引用。
  • 模式匹配中的借用:在模式匹配中处理借用时,确保引用的有效性,避免数据竞争。
  • 多态借用:枚举允许在同一类型中组合不同类型的引用,生命周期标注有助于明确各个引用的关系。