当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Rust Vec.with_capacity_in用法及代码示例


本文简要介绍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-lang.org大神的英文原创作品 std::vec::Vec.with_capacity_in。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。