当前位置: 首页 > news >正文

Rust 中的数组和数组切片引用

创建数组

let arr = [1, 2, 3, 4]

创建动态数组

let mut vec = Vec::new();
vec.push(t);

数组切片引用类型

切片引用切片两个名词经常被混用,因为 Rust 实际编程中几乎不用真正的切片类型。切片引用的类型是 &[T ] 。切片引用本质上是个胖指针(保存着指向数据的地址和元素的个数)。而静态数组类型是在类型中保存长度信息的,这个信息是编译时可获取的。

// 数组:[T; N] - 编译时已知长度
let array: [i32; 3] = [1, 2, 3]; // 类型中包含了长度 3// 切片:&[T] - 运行时才知道长度
let slice: &[i32] = &array[..]; // 类型中不包含长度
use std::mem::size_of;fn main() {// 引用的大小println!("&i32: {} bytes", size_of::<&i32>());        // 8 bytesprintln!("&[i32]: {} bytes", size_of::<&[i32]>());    // 16 bytes (胖指针)println!("&str: {} bytes", size_of::<&str>());        // 16 bytes (也是胖指针)// &str 是字符串切片引用,也是胖指针。str 类型也不会被单独使用。// Vec 的大小println!("Vec<i32>: {} bytes", size_of::<Vec<i32>>()); // 24 bytes (指针+长度+容量)
}

数组切片引用类型方便由静态数组,动态数组类型转化而来,适合作为统一接口。

http://www.dtcms.com/a/458491.html

相关文章:

  • 洛阳网站建设建站系统懒人建站
  • 模型网站大全免费wordpress drupal
  • .removeClass() 方法详解
  • 免费网站建设制作视频云南旅游网站设计
  • 加盟网官方网站微信小商城怎么开通
  • 微信小程序网站建设定制铜仁市住房和城乡建设部网站
  • 做网站如何赚钱知乎如何免费开个人网站
  • iis虚拟网站古典网站案例
  • 高水平的番禺网站建设网站的内链建设
  • 易语言建设网站点击网络网站
  • 给传销产品做网站黑龙江网站备案管理局
  • 镜像网站能否做google排名网站手机版排名seo
  • 初学者的网站建设在线电子商务网站开发
  • 连云港建设工程安全网站百度自媒体注册入口
  • 公司注册网站有什么好处手机网站最小宽度
  • CSP-S选手学习斜率优化详解
  • 湖州做网站的网站怎么申请百度小程序
  • 站内seo优化wordpress图片集插件
  • 拜师做网站请问做网站需要什么
  • 开源!Vue3 + Nest.js+DeepSeek 开发 AGIC(能豆AI批改助手)
  • 温州cms模板建站用dreammwea怎么做视频网站
  • SK Hynix数据中心存储质量管理案例剖析
  • 网站首页布局风格广告设计公司是做什么的
  • 一键处理AIMD获得MSD并绘图脚本
  • 文化类网站建设深圳网站建设zvge
  • 网站 案例网站开发流程ppt
  • Python 面试常考:浅拷贝与深拷贝的区别详解
  • 学习笔记系列--cGAS-STING.version2.0
  • 全自动安装 oh-my-zsh + Powerlevel10k 主题 + 常用插件教程
  • gta5买办公室 网站正在建设南京小程序设计制作