原文链接:https://doc.rust-lang.org/nomicon/references.html

引用

有两种引用的类型:

  • 共享指针:&
  • 可变指针:&mut

它们遵守以下的规则:

  • 引用的生命周期不能超过被引用内容
  • 可变引用不能存在别名(alias)

就这些。这就是全部的引用模型。

当然,我们可能需要定义一下别名(alias)是什么意思。

  1. error[E0425]: cannot find value `aliased` in this scope
  2. --> <rust.rs>:2:20
  3. |
  4. 2 | println!("{}", aliased);
  5. | ^^^^^^^ not found in this scope
  6. error: aborting due to previous error

很不幸,Rust实际上没有定义别名模型。:scream_cat:

在Rust的开发者从语义层面确定别名的意义之前,我们先在下一章讨论一般意义上的别名指什么,还有它为什么很重要。