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

Rust编程语言变量的所有权(ownership)

文章目录

      • 什么是所有权
      • 所有权规则
      • 转让所有权
        • 变量与数据交互的方式(一):移动
        • 变量与数据交互的方式(二):克隆
        • 只在栈上的数据:拷贝
      • 所有权与函数
      • 返回值与作用域
      • 引用和借用
      • 可变引用
      • 悬垂引用(Dangling References)
      • 引用的规则

在这里插入图片描述

什么是所有权

所有权ownership)是Rust 的核心功能之一。所有程序都必须管理其运行时使用计算机内存的方式。Rust 则选择通过所有权系统管理内存,编译器在编译时会根据一系列的规则进行检查。如果违反了任何这些规则,程序都不能编译。在运行时,所有权系统的任何功能都不会减慢程序。

所有权就是一个东西属不属于你,你有没有权力随意处理它,比如送人,比如扔掉。

Rust 语言中每一值都有一个对应的变量,这个变量就成为这个值的 所有者。从某些方面说,定义一个变量就是为这个变量和它存储的数据定义一种所有者管理,声明这个值由这个变量所有。

例如,对于 let age = 30 这条语句,相当于声明 30 这个值由变量 age 所有

所有权规则

首先,让我们看一下所有权的规则。当我们通过举例说明时,请谨记这些规则:


http://www.mrgr.cn/news/55401.html

相关文章:

  • 2. 什么是注解?
  • 程序员的浪漫之给对象爬数据,没想到过程中竟然被写接口的老哥字段命名给秀到了!
  • Synopsys工具中命令中filter选项
  • 【WPF】中Binding的应用
  • 【微信小程序_19_自定义组件(1)】
  • 中欧区域 - 匈牙利SAP财税本地化
  • Sqlite3 操作笔记
  • CTFHUB技能树之XSS——过滤空格
  • 安达发|日化品APS智能排产系统的物料齐套欠料分析
  • 【已解决】Eclipse下载安装和环境配置 超详细教程 小白
  • 微服务的一些基本概念
  • Java程序员最好的AI框架,伴随着Spring到来了
  • React是如何处理事件的?
  • 颜廷利:东方智慧的现代诠释者
  • keras的内部的模块有哪些? (自用便签)
  • 《七龙珠:电光炸裂 Zero》销量破纪录,AOC U32G4ZMN带你重燃格斗热血!
  • istio多主集群架构验证方法
  • Kafka之原理解析
  • 正点原子 linux 几个编译器之间的关系
  • [单master节点k8s部署]42.全链路监控(一)
  • 【p2p、分布式,区块链笔记 Blockchain】truffle003 测试网络准备
  • 关于动态规划的一份介绍
  • 【AI大模型】本地部署 Code Llama 大模型
  • ROS 2 Jazzy Jalisco 模型工具 Xacro 总结和习题
  • FineReport 页面设置
  • 【小白学机器学习17】 概率论的认识论和方法论