引用

有两种引用

  • 共享引用: &
  • 可变引用: &mut

它们遵循以下规则

  • 引用不能比其所指对象存活更长时间
  • 可变引用不能有别名

就是这样。这就是引用遵循的全部模型。

当然,我们可能应该定义*别名*的含义。

error[E0425]: cannot find value `aliased` in this scope
 --> <rust.rs>:2:20
  |
2 |     println!("{}", aliased);
  |                    ^^^^^^^ not found in this scope

error: aborting due to previous error

不幸的是,Rust 实际上还没有定义其别名模型。🙀

在我们等待 Rust 开发人员指定其语言语义的同时,让我们在下一节中讨论别名是什么,以及它为什么重要。