引用
有两种类型的引用:
- 共享的引用:
&
- 可变引用:
&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 的设计者明确他们语言的语义时,让我们用下一节来讨论下在一般场景下别名到底是什么,以及它为什么重要。