Skip to content

存量 ​

在Auto语言中,有四种类型的存量:

  1. 定量(let)
  2. 变量(mut)
  3. 常量(const)
  4. 幻量(var)

我们以前把这些量都称为“变量”,显然是不合适的, 所以才会出现类似于“不可变变量”、“可变变量”这种自相矛盾的表述。 因此我把他们统一称为“存量”,即对应于存储在内存中的某段数据的量。

存量的值传递 ​

我总结了一下各类语言中值传递的方式,发现一共可以归类为4种:

  1. 拷贝(copy)
  2. 引用(ref)
  3. 转移(move)
  4. 指针(ptr)

他们效果、影响各不相同,因此需要区分。

举例:

rust
let a = 1  // 定量
let b = copy a  // 拷贝 
let c = a // 注意:默认拷贝
let d = ref a // 引用
let e = ptr a // 指针
let f = move a // 转移
rust
mut a = [0..999] // 变量,且类型为数组
let b = ref a // 引用
let c = a // 注意:默认引用
let d = move a // 转移
let e = ptr a // 指针
let f = move a // 转移

基于 MIT 许可发布。