此页内容

所有权

鹏展博

169字小于1分钟

2022-06-03

所有权原则

  • Rust中每一个值都被一个变量所拥有,该变量被称为值的所有者
  • 一个值只能同时被一个变量所拥有,或者说一个值只能有一个拥有者
  • 当所有者(变量)离开作用域时,这个值将被抛弃(drop)

所有权转移

let s1 = String::from("hello");
let s2 = s1;

当 s1 赋予 s2 后,Rust 认为 s1 不再有效,因此也无需在 s1 离开作用域后 drop 任何东西,这就是把所有权从 s1 转移给了 s2s1 在被赋予 s2 后就马上失效了