首页 > 其他分享 >rust中动态数组的引用和切片

rust中动态数组的引用和切片

时间:2023-05-01 18:22:32浏览次数:28  
标签:mut 引用 切片 let vec 数组 rust Vec

真逆天这个b语法

1 切片

与String切片类似,动态数组Vec也能切片,通过&取切片

般如果Vec是可变的话,那么他的切片就是不可变的/只读的

注意:切片和 &Vec 是不同的类型,后者仅仅是 Vec 的引用,并可以通过解引用直接获取 Vec

fn main()
{
    let mut v = vec![1, 2, 3];
    let slice = &v[..];      // 切片
    let vec_ref: &mut Vec<i32> = &mut v;    // 对Vec的引用
    (*vec_ref).push(4);
    
}

标签:mut,引用,切片,let,vec,数组,rust,Vec
From: https://www.cnblogs.com/jye159X/p/17366800.html

相关文章

  • 7-014-(LeetCode- 718) 最长重复子数组
    1.题目读题 考查点 2.解法思路 代码逻辑 具体实现113.总结......
  • 7-006-(LeetCode- 152) 乘积最大子数组
    1.题目读题 考查点 2.解法思路 代码逻辑 具体实现113.总结......
  • 树状数组
    树状数组学习笔记第$1$章:树状数组什么是树状数组?树状数组可以理解为一个简易的线段树。列题一给定\(a\)个数,执行\(q\)次操作:\(op=1\)时:将\(a_x\)改成\(y\)\(op=2\)时:询问\(a_x\)到\(a_y\)的和这题显然可以用暴力做,用数组储存,操作\(1\)复杂度是\(O(1......
  • c#-随机数组
    publicstaticint[]GenerateRandowArray(intmaxSize,intmaxValue){Randomrd=newRandom();int[]arr=newint[(int)((maxSize+1)*rd.NextDouble())];for(inti=0;i<arr.Length;i++){arr[i]=(in......
  • 树状数组
    树状数组,可以高效地计算数列前缀和,它的查询(求前缀和)和更新(修改)操作都可以在O(logn)的时间完成tr[i]存储以i为终点,长度为lowbit(i)的区间修改:for(inti=x;i<=n;i+=lowbit(i))tr[i]+=c查询:for(inti=x;i;i-=lowbit(i))sum......
  • NOI / 1.8编程基础之多维数组
    11:图像旋转1.描述输入一个n行m列的黑白图像,将它顺时针旋转90度后输出。2.输入第一行包含两个整数n和m,表示图像包含像素点的行数和列数。1<=n<=100,1<=m<=100。接下来n行,每行m个整数,表示图像的每个像素点灰度。相邻两个整数之间用单个空格隔开,每个元素均在0~255之间3.......
  • 将数组清空
    给你一个包含若干互不相同整数的数组nums,你需要执行以下操作直到数组为空:如果数组中第一个元素是当前数组中的最小值则删除它否则,将第一个元素移动到数组的末尾请你返回需要多少个操作使nums为空1.逆向思维classSolution{public:longlongcountOperationsToEmpt......
  • 【剑指 Offer】 51. 数组中的逆序对
    【题目】在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。 示例1:输入:[7,5,6,4]输出:5 限制:0<=数组长度<=50000来源:力扣(LeetCode)链接:https://leetcode.cn/problems/shu-zu-zhong-de-ni-xu-du......
  • Java根据Integer数组(有null值)递归构造二叉树
    二叉树:publicclassTreeNode{intval;TreeNodeleft;TreeNoderight;TreeNode(){}TreeNode(intval){this.val=val;}TreeNode(intval,TreeNodeleft,TreeNoderight){this.val=val;this.l......
  • Java二维数组
    二维数组二维数组的应用场景:但我们需要把数据分组管理的时候,就需要用到二维数组二维数组初始化:1、静态初始化:格式:数据类型[][]数组名=new数据类型[][]{{元素1,元素2},{元素1,元素2}};eg:int[][]arr=newint[][]{{11,22},{33,44}}简化格式:数据类型[][]数组名={{元素1......