不可变数据建议Rc<[T]>
/Arc<[T]>
替代Vec<[T]>
slice 对于不可变数据, Arc<[T]>
可能是比 Vec<T>
更好的选择, 因此, 如果你在构建一个大数据序列, 并且
之后不会修改, 那么考虑 Rc<[T]>, 它非常适合存储的数据或数组或集合或只是传递一般引用.
看下内存模型就明白了:
#![allow(unused)] fn main() { stack [ptr |meta] +–––-+–––+ │ * │ │ +–│-–+--–│ | heap | +–V–+–––+–––+ │ │ │ T │ +–––+--–+–––+ / │ ref count <–/ V weak ref count }