tinyvec
有时,需要一些像 Vec
一样能够调整大小的特性,但无需进行堆分配。tinyvec
提供了以下特性:由数组或 slice 支持的矢量,该矢量支持进行静态分配或堆分配;用于跟踪使用的元素数量,如果元素使用量超过了分配额度,则会出现 panic。
use tinyvec::{array_vec, ArrayVec}; fn main() { let mut numbers: ArrayVec<[u32; 5]> = array_vec!(42, 66); println!("{numbers:?}"); numbers.push(7); println!("{numbers:?}"); numbers.remove(1); println!("{numbers:?}"); }
- 根据
tinyvec
要求,元素类型需实现初始化Default
。 - Rust Playground 中包含
tinyvec
,因此本示例将以内嵌方式正常运行。