C++中的智能指针

1.智能指针简介(smart pointers)

std:: 是标准库(Standard Library)中的命名空间(namespace)的缩写。让C++中知道unique_str等是标准库里的特殊标识符。

2.unique_ptr和shared_ptr

唯一性:多个unique_ptr不可以指向同一个对象

不可以拷贝或赋值,但可以移动

(1)

比喻: 建造了一栋 <int> 类型的房子,里边有一个 100

返回的是指向 <int> 类型的指针 p1, 可以想象成一张纸条,上边写着 <int> 类型房子的 地址。

unique_ptr:是一种特别的纸张,它规定只有一个人能持有它,而且纸张会自己在合适的时候负责拆掉房子

(2)

比喻: 建造了一栋 <Account> 类型的房子,里边有一个 Alice 和 1000

返回的是指向 <Account> 类型的指针 p2, 可以想象成一张纸条,上边写着 <Account> 类型房子的 地址。

unique_ptr:是一种特别的纸张,它规定只有一个人能持有它,而且纸张会自己在合适的时候负责拆掉房子

这里的 int 和 Account 可以看作是房子的类型,"简约"和"豪华"版的房子

(3)

auto p2 = make_unique<Account>("Alice",2000)

auto:能够自动识别类型

相关推荐
轩情吖几秒前
Qt常用控件之QWidget(一)
c++·qt·geometry·qwidget·qpushbutton·客户端开发·enabled
没学上了1 分钟前
Qt去噪面板搭建
开发语言·qt
peihexian2 分钟前
vcpkg交叉编译qt等过程记录(未完成)
开发语言·qt
拓端研究室16 分钟前
专题:2025母婴行业洞察报告|附60+份报告PDF汇总下载
开发语言·人工智能·python
Skrrapper18 分钟前
【编程史】IDE 是谁发明的?从 punch cards 到 VS Code
c++·ide·vscode
布呐呐na21 分钟前
C#基础篇(10)集合类之列表
开发语言·c#
Gq.xxu21 分钟前
RAG实战之dify源码文件解析-pdf文件解析流程
开发语言·python·pdf
草莓熊Lotso42 分钟前
【洛谷题单】--顺序结构(一)
c语言·c++·其他·刷题
嘉小华42 分钟前
第八章:安装与打包
c++
lightqjx43 分钟前
【数据结构】复杂度分析
c语言·开发语言·数据结构·算法