【笔记】Rust的智能指针
前言
Rust的智能指针
创建一个指针变量
- 装箱:把栈上的数据存储到堆上
- 通过Box可以进行装箱操作,从而创建一个指针变量
1 | let 普通变量 = 值; |
解引用
- 通过解引用操作实现获取指针指向的数据
1 | *普通变量 |
取地址
1 | &值 |
手动实现一个Box
- 如果一个结构体实现了Deref特质后,
deref()
方法会返回一个指向结构体内部数据的指针 - 如果一个结构体实现了Drop特质后,如果这个指针超出了作用域范围,会触发
drop()
方法
1 | use std::ops::Deref; |
创建一个指针变量
1 | let 普通变量 = 值; |