std vector存固定长度数组_Rust矢量(Vector)数组, Vec<T>

本文介绍了Rust中std::vector的使用,包括创建、更新、销毁、读取、迭代等操作。详细讨论了Vector如何在内存堆上动态调整大小,并提供了源代码链接以深入理解其内存结构。
摘要由CSDN通过智能技术生成

Vec<T>读作'vector(矢量)', 相连可增长数组类型.

矢量(vector)数组可以存在任意数量的相同类型(T)的数值. 矢量(vector)数组存储在内存堆(heap)上, 在运行时(runtime)可以增加或减少数组长度.

创建

let v: Vec<i32> = Vec::new();
let v = vec![1, 2, 3]; // i32 values

更新

通过push方法增加数组. 注意, 需要用mut声明该数组是可以修改的, 之后才能调用push方法.

let mut v = Vec::new();

v.push(5);
v.push(6);
v.push(7);

销毁drop

离开所在的作用域(scope), 该数组变量自动销毁, 数组内的说有数值也一同销毁.

{
    let v = vec![1, 2, 3, 4];
    // do stuff with v
} // <- v goes out of scope and is freed here

读取

通过索引和get方法获取内部数据的引用(reference):

  • &v[index]
  • pub fn get<I>(&self, index: I) -> Option<&<I as Sl
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值