當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Rust Vec.with_capacity用法及代碼示例


本文簡要介紹rust語言中 std::vec::Vec.with_capacity 的用法。

用法

pub fn with_capacity(capacity: usize) -> Vec<T, Global>

構造一個具有指定容量的新的空 Vec<T>

該向量將能夠準確地保存 capacity 元素而無需重新分配。如果capacity 為0,則向量不會分配。

需要注意的是,盡管返回的向量具有指定的容量,但向量的長度為零。有關長度和容量之間差異的說明,請參閱容量和重新分配。

Panics

如果新容量超過 isize::MAX 字節,則會出現Panics。

例子

let mut vec = Vec::with_capacity(10);

// The vector contains no items, even though it has capacity for more
assert_eq!(vec.len(), 0);
assert_eq!(vec.capacity(), 10);

// These are all done without reallocating...
for i in 0..10 {
    vec.push(i);
}
assert_eq!(vec.len(), 10);
assert_eq!(vec.capacity(), 10);

// ...but this may make the vector reallocate
vec.push(11);
assert_eq!(vec.len(), 11);
assert!(vec.capacity() >= 11);

相關用法


注:本文由純淨天空篩選整理自rust-lang.org大神的英文原創作品 std::vec::Vec.with_capacity。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。