汇编语言中,引用就是内存的地址,是一个数字类型。程序员
C 语言中,引用是经过指针实现的,而其类型是和其指向的类型有关的一种类型。并发
在函数式语言中,没有显式的引用,函数的参数默认是传递值,没法传递引用,这在并发类语言中尤为明确。而这样设计的初衷是为了防止程序员不当心修改了共享的变量,而形成并发行为发生不可预料的后果。函数
我认为,引用应看成为一种独立的类型,分离出来。即便是支持并发的语言,也不要强制禁止传递引用,禁止对值的修改,由于这是程序员的权利。设计
ref = *value ref_value = &ref
为了不影响编译器对内存的调度,引用不能当成一种数字类型,也不能和引用所指向的类型相关。 type(ref) == 'ref'指针
引用能够复制,能够做为参数传递,在对引用计算的时候,会自动解引用,code
other_ref = ref accept_ref_function(ref_var) ref_var.type() // equal &ref_var.type();
而函数的参数传递,传递的是值,而不是引用。若是想传递引用,就显式的定义:内存
var_ref = *var accept_ref_func(var_ref)
语言设计应当尽量的把潜规则显式的表达出来。编译器