RT, Rust 中说变量默认是不可变的, 这里的不可变, 是指绑定不可变, 还是指值不可变呢? 或两者都有?
这块的表述可能不是很准确, 只在大学学过 C, 其实我就是想问, 这个是类似于 int const* p 还是类似于 int* const p 这样的?
1
quinoa42 2019-01-14 14:14:13 +08:00
除去极其个别的情况(你后面会学到),如果要修改函数的某个参数或是变量,需要要么 own 那个值,要么有 mutable reference
reference 实际上相当于是 const pointer,不能修改指向的地址位置的(用 Rustacean 的话来讲,你只是 borrow 了这个变量) 也就是说是:&bla == ??? const *const bla &mut bla == ??? * const bla mut bla = ??? bla bla = ??? const bla 我也是前段时间才开始学 rust,如有错误请多多指正 |
2
Sparetire OP @quinoa42 我的理解是类似于 const int * const p 这样的, 即指向不可变, 值也不可变...
|