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:能够自动识别类型

相关推荐
linx2953 分钟前
阶段三讲义:类型与对象(Classes & Essential Operations)
c++
飞鸟真人3 分钟前
C++ lambda 捕获完整梳理
c++·闭包·lamda
東隅已逝,桑榆非晚11 分钟前
c++内存管理
c++·笔记
matlab代码12 分钟前
基于matlab PCA人脸识别系统【源码63期】
开发语言·matlab
Terra.K13 分钟前
后端开发阶段性总结
java·开发语言·后端
学逆向的15 分钟前
PE——合并节
开发语言·网络安全·pe
是个西兰花18 分钟前
C++11:线程库与线程安全问题
开发语言·c++
点心的游戏开发世界21 分钟前
GDScript 入门笔记(十三):字符串操作
开发语言·笔记·游戏引擎·godot
少司府30 分钟前
C++进阶:智能指针
开发语言·数据结构·c++·b树·算法·c·智能指针
matlab代码33 分钟前
基于matlab的红绿灯图像检测识别系统【源码60期】
开发语言·matlab