所有权

所有变量绑定都有一个有效的“作用域”,使用 超出其作用域的变量是错误的:

struct Point(i32, i32);

fn main() {
    {
        let p = Point(3, 4);
        println!("x: {}", p.0);
    }
    println!("y: {}", p.1);
}
  • 作用域结束时,变量会“被丢弃”,数据会被释放。
  • 析构函数可在此运行以释放资源。
  • 指出变量“拥有”值。