本文简要介绍rust语言中 std::vec::Vec.with_capacity_in
的用法。
用法
pub fn with_capacity_in(capacity: usize, alloc: A) -> Vec<T, A>
使用提供的分配器构造一个具有指定容量的新的空 Vec<T, A>
。
该向量将能够准确地保存 capacity
元素而无需重新分配。如果capacity
为0,则向量不会分配。
需要注意的是,尽管返回的向量具有指定的容量,但向量的长度为零。有关长度和容量之间差异的说明,请参阅容量和重新分配。
Panics
如果新容量超过 isize::MAX
字节,则会出现Panics。
例子
#![feature(allocator_api)]
use std::alloc::System;
let mut vec = Vec::with_capacity_in(10, System);
// 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 Vec.with_capacity用法及代码示例
- Rust Vec.drain用法及代码示例
- Rust Vec.into_raw_parts用法及代码示例
- Rust Vec.resize用法及代码示例
- Rust Vec.swap_remove用法及代码示例
- Rust Vec.is_empty用法及代码示例
- Rust Vec.reserve_exact用法及代码示例
- Rust Vec.retain_mut用法及代码示例
- Rust Vec.try_reserve_exact用法及代码示例
- Rust Vec.new_in用法及代码示例
- Rust Vec.insert用法及代码示例
- Rust Vec.retain用法及代码示例
- Rust Vec.from_raw_parts用法及代码示例
- Rust Vec.into_boxed_slice用法及代码示例
- Rust Vec.reserve用法及代码示例
- Rust Vec.dedup_by用法及代码示例
- Rust Vec.shrink_to_fit用法及代码示例
- Rust Vec.as_mut_slice用法及代码示例
- Rust Vec.dedup用法及代码示例
- Rust Vec.set_len用法及代码示例
- Rust Vec.as_ptr用法及代码示例
- Rust Vec.capacity用法及代码示例
- Rust Vec.into_raw_parts_with_alloc用法及代码示例
- Rust Vec.leak用法及代码示例
- Rust Vec.splice用法及代码示例
注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 std::vec::Vec.with_capacity_in。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。