Rust 语言学习笔记(五)

终于来到了 Rust 的精髓所在了,那就是使之不依赖于垃圾回收又能保障内存安全且高效运行的所有权系统(Ownership System)。想要用 Rust 做一个稍显规模项目必定绕不过它,所有权系统包括所有权(Ownership), 借用(Borrowing), 生命周期(Lifetimes)。

以下概念的复述基本是从 《Rust编程: 入门, 实战与进阶》一书中而来,那里面有些内容是来自于官方的 The Rust Programming Languge - Understanding Ownership.

所有权系统的基本概念

Rust 的编程语法很快就能上手,让学习 Rust 曲线陡然大增的也就是这个所有权系统。所有权检测在编译期完成,Rust 能编译出来的代码就是安全高效的。要理解 Rust 的所有权系统必须首先明白以下两组概念:

  1. 栈内存(Stack),值语义(Value Semantic),按位复制(浅复制)(Shallow Copy),复制语义(Copy Semantic)
  2. 堆内存(Heap), 引用语义(Reference Semantic), 深复制(Deep Copy),移动语义(Move Semantic), 借助(Borrowing)

和其他语言一样,大小固定的所有基本类型都可以存储在栈上,栈上存取数据总是在栈顶操作,很快,而访问堆内存需要搜索内存地址。所有权系统的主要任务是用来跟踪堆上的数据,即引用语义的数据。 阅读全文 >>

相关推荐
R cddddd6 分钟前
Spring Boot Admin 监控模块笔记-实现全链路追踪
java·笔记·spring cloud
ATaylorSu8 分钟前
经典算法之美:冒泡排序的优雅实现
开发语言·笔记·学习·算法
a cool fish(无名)13 分钟前
10.1通用数据类型
rust
寻月隐君16 分钟前
Rust Scoped Threads 实战:更安全、更简洁的并发编程
后端·rust·github
遇见尚硅谷1 小时前
# C语言:20250730学习(二级指针)
c语言·学习·算法
amazinging1 小时前
北京-4年功能测试2年空窗-报培训班学测开-今天来聊聊我的痛苦
python·功能测试·学习·面试
DKPT2 小时前
Java设计模式之行为型模式(解释器模式)实现方式详解
java·笔记·学习·设计模式·解释器模式
₯㎕星空&繁华3 小时前
Linux—进程状态
linux·运维·服务器·笔记
小一亿5 小时前
【0基础PS】Photoshop (PS) 理论知识
学习·平面·adobe·信息可视化·photoshop
慕y2746 小时前
Java学习第九十一部分——OkHttp
java·开发语言·学习