×
Rust教程Rust简介Rust的特点Rust开发环境安装Rust第一个程序

控制语句

Rust if语句Rust if in a let语句Rust loop循环Rust for循环Rust while循环

Rust所有权

Rust所有权Rust引用和借用Rust切片

Rust结构体

Rust结构体Rust结构体更新语法Rust结构体方法语法

Rust枚举

Rust枚举匹配运算符Rust if let控制流程

Rust模块

Rust模块Rust文件系统Rust公开函数Rust use关键字引用模块

Rust集合

Rust向量Rust字符串

Rust错误处理

Rust错误处理Rust不可恢复的错误Rust可恢复的错误

Rust泛型与性状

Rust泛型Rust TraitRust生命周期

Rust智能指针

Rust智能指针Rust Box<T>Rust Deref traitRust Drop trait

Rust智能指针


智能指针是一种数据结构,其行为类似于指针,同时提供内存管理或绑定检查等附加功能。
智能指针可跟踪其指向的内存,还可用于管理其他资源,如Fils句柄和网络连接。
智能指针最初用于C++语言。
引用也是一种指针,但除了引用数据之外,它没有其他功能。引用由&运算符表示。
智能指针提供的功能超出了参考提供的功能。 智能指针提供的最常见功能是“引用计数智能指针类型”。 此功能能够通过跟踪所有者来拥有多个数据所有者,如果没有所有者,则可以清除数据。
引用是仅借用数据的指针,而智能指针是拥有它们指向的数据的指针。

智能指针的类型:

  • Box <T>Box <T>是一个智能指针,指向在类型为T的堆上分配的数据,其中“T”是数据的类型。它用于将数据存储在堆上而不是堆栈上。
  • Deref <T>Deref <T>是一个智能指针,用于自定义解除引用运算符(*)的行为。
  • Drop <T>Drop <T>是一个智能指针,用于在变量超出范围时从堆内存中释放空间。
  • Rc <T>Rc <T>代表参考计数指针。它是一个智能指针,用于记录存储在堆上的值的引用数。
  • RefCell <T>RefCell <T>是一个智能指针,允许借用可变数据,即使数据是不可变的。这个过程被称为内部可变性。

分类导航

关注微信下载离线手册

bootwiki移动版 bootwiki
(群号:472910771)