c++ 智能指针示例 总结

本文通过实际项目案例详细介绍了C++智能指针(unique_ptr, shared_ptr)的使用,包括局部函数中的直接定义、类中声明、作为容器元素、参数及返回值的情况,并探讨了自定义删除器的实现方式。" 1328988,148686,动态文件内容下载实现,"['servlet', 'web开发', '文件下载', 'HTTP协议', 'Tomcat服务器']
摘要由CSDN通过智能技术生成

很多理论介绍的很好了,但看了后还是难以下手。

有时候实际的例子更有代入感,本文主要介绍项目中实际的智能指针应用例子。

目录

一 、局部函数中使用

1) 直接定义方式

 整形智能指针

类变量智能指针

vector数组 智能指针

数组 智能指针

2)初始化列表方式

3)reset方式

二、 类中声明智能指针

1) 通过reset设置

1.1)

1.2)

1.3

2)初始化列表中赋值 

2.1)

2.2)

2.3)

3)通过std::move  将局部智能指针控制权,转移到类智能指针

4)、返回值是unique_ptr

5)、 匿名函数 自定义删除器

三 智能指针作为容器元素

四  作为参数,返回值

1)作为参数

2)返回值

五 自定义删除器

1 匿名函数方式

1)匿名函数  大括号的方式赋值

2)

3)

 4) 全局静态匿名函数

2 类重载() 实现删除器

六 自己用到过的例子

1)

2)

3)


一 、局部函数中使用

 几乎所有资料,介绍的都是智能指针在局部函数中的使用

1) 直接定义方式

 整形智能指针

	unique_ptr<uint8_t> bits(new uint8_t[size.cx * size.cy * 4]);
	memset(bits.get(), 0, size.cx * size.cy * 4);// 一定要初始化  不然 透明色 很可能是半透明色
	Gdiplus::Bit
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

清水迎朝阳

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值