Skip to content

黄一笑|旅客驿站

生活不止,学习不止。

  • Home
  • 学习笔记
  • CPA学习笔记
  • Landing Page
  • Toggle search form

Rust所有权

Posted on October 2, 2022October 2, 2022 By admin No Comments on Rust所有权

首先我们需要了解什么是所有权。Rust的核心特性就是所有权。所有程序在运行的时候,都必须管理它们使用计算机内存的方式。而Rust就是使用了所有权的系统来管理内存,其中包含了一组编译器在编译时检查的规则。最重要的是,这么一种运行方式,并不会减慢程序的运行速度。

Stack 和 Heap (栈内存 和 堆内存)

在运行的时候,Stack和Heap都是可以使用的内存,但是两者在结构上是不一样的。

  • Stack是按照值的接收顺序来存储,按照相反的顺序将它们移除(LIFO, last in first out)
    • 添加数据叫做压入栈,而移除数据叫做弹出栈
  • 所有的存储在Stack上的数据必须拥有已知的固定的大小。
    • 编译时大小未知的数据,或运行大小可能发生变化的数据必须存放在heap上。
  • Heap内存组织性差一些:当你把数据放入heap时,你会请求一定数量的空间。而操作系统会给出足够大的空间,并把它标记为在用,返回一个指针,也就是这个空间的地址。这个过程称为”分配”

所有权规则

  • 每一个值都有一个变量,这个变量是该值的所有者
  • 每一个值同时只能有一个所有者
  • 当所有者超出作用域(Scope),该值将被删除。
学习笔记, 编程学习 Tags:Rust, 所有权

Post navigation

Previous Post: Rust的循环
Next Post: Accumulated other comprehensive income (AOCI)

Related Posts

Rust函数返回值 学习笔记
How to cancel Quickbooks 学习笔记
isnull 提高效率 SQL笔记
Go的指针学习笔记 学习笔记
Rust的注释 学习笔记
Rust流程管理 学习笔记

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Archives

  • February 2023
  • October 2022
  • September 2022

Categories

  • CPA学习笔记
  • ERPNext
  • FAR
  • SQL笔记
  • 学习笔记
  • 编程学习

Recent Posts

  • How to cancel Quickbooks
  • Go的指针学习笔记
  • ERPNext 14 Naming Series
  • Treasury Stock
  • Accumulated other comprehensive income (AOCI)

Recent Comments

No comments to show.

AOCI Benefit plan Equity FAR Go ISNULL Quickbook Rust SQL Treasury Stock 常量 循环 所有权 指针 注释


  • CPA学习笔记
  • ERPNext
  • FAR
  • SQL笔记
  • 学习笔记
  • 编程学习

Meta

  • Log in
  • Entries feed
  • Comments feed
  • WordPress.org

Copyright © 2023 黄一笑|旅客驿站.

Powered by PressBook Masonry Blogs