当前位置: 首页 > 文档资料 > 通过例子学 Rust >

所有权和移动 - 可变性

优质
小牛编辑
140浏览
2023-12-01

当所有权转移时,数据的可变性可能发生改变。

  1. fn main() {
  2. let immutable_box = Box::new(5u32);
  3. println!("immutable_box contains {}", immutable_box);
  4. // 可变性错误
  5. //*immutable_box = 4;
  6. // **移动** box,改变所有权(和可变性)
  7. let mut mutable_box = immutable_box;
  8. println!("mutable_box contains {}", mutable_box);
  9. // 修改 box 的内容
  10. *mutable_box = 4;
  11. println!("mutable_box now contains {}", mutable_box);
  12. }