据我理解,可变性不会反映在变量类型签名中。例如,这两个引用具有相同的类型签名
为什么会这样?这似乎是一个很大的疏忽。我的意思是,即使是C/C++也更加明确地使用两个
&i32
:let ref_foo : &i32 = &foo;
let mut ref_bar : &i32 = &bar;
为什么会这样?这似乎是一个很大的疏忽。我的意思是,即使是C/C++也更加明确地使用两个
const
来表示我们有一个指向const
数据的const
指针:const int * const ptr_foo = &foo;
const int * ptr_bar = &bar;
有更好的思考方式吗?
mut
不是用来表示可变性吗? - 463035818_is_not_a_numberconst int& const
,这是你想要的吗? - 463035818_is_not_a_numberconst
用于引用),而C ++示例是关于指针的。 - 463035818_is_not_a_numberconst
只是指它绑定的数据是否为const
。 - mallwright