生命周期是Rust中相当重要的概念,必须彻底掌握。

要学习生命周期的概念是为了避免悬垂引用,学过C语言的都知道指针,当一个指针指向一个不确定的地址时很可能会领程序出错。

一段错误的代码:

1
2
3
4
5
6
7
8
9
fn main() {
/// 生命周期例子
let r;
{
let x = 5;
r = &x;
} // x 结束生命
println!("r: {}", r); // r 引用了无效的地址
}