根据Rust文档:
向量总是在堆上分配它们的数据 .
据我了解,这意味着:
Rust将在堆上分配足够的内存,以便以连续的方式存储类型 T .
T
Rust will not 单独将项目放入向量中 .
换句话说,如果我向向量添加一些整数,而 Vec 将分配足够的存储空间来存储这些整数,那么它也不会对这些整数进行包装;引入另一层间接 .
Vec
我不确定如何使用代码示例来说明或确认这一点,但我们非常感谢您的帮助 .
Yes , Vec<T> 将所有项目存储在连续的缓冲区中,而不是单独装箱 . The documentation州:
Vec<T>
一个连续的可扩展数组类型,写为Vec <T>但发音为'vector' .
请注意,也可以对矢量进行切片,以获得 &[T] (切片) . Its documentation再次证实了这一点:
&[T]
动态大小的视图到连续序列,[T] . 切片是表示为指针和长度的内存块的视图 .
1 回答
Yes ,
Vec<T>
将所有项目存储在连续的缓冲区中,而不是单独装箱 . The documentation州:请注意,也可以对矢量进行切片,以获得
&[T]
(切片) . Its documentation再次证实了这一点: