C++智能指针shared_ptr怎么使用
发表于:2024-09-30 作者:千家信息网编辑
千家信息网最后更新 2024年09月30日,本篇内容介绍了"C++智能指针shared_ptr怎么使用"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所
千家信息网最后更新 2024年09月30日C++智能指针shared_ptr怎么使用
本篇内容介绍了"C++智能指针shared_ptr怎么使用"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
1、什么是shared_ptr?
C++11中包括shared_ptr
在内的多种指针,都是模板类型,意味着使用者可以指定想要操作的类型。
创建shared_ptr的方式如下:
shared_ptrp1; // p1=NULL
2、shared_ptr支持哪些操作?
创建:
shared_ptr p = make_shared
;判断是否为
NULL
:if(p)获取指向对象
等等
3、如何创建shared_ptr的实例?
通过C++的标准库中make_shared()
函数动态的申请对象内存,并返回此对象的shared_ptr
:
shared_ptrp1; p1 = make_shared (666);
4、什么是shared_ptr的引用计数?如何查看?
由于允许多个shared_ptr
指向同一个对象,所以C++支持"引用计数",也就是统计同一对象被多少个shared_ptr
所指向。当某对象的shared_ptr增加时,引用计数随之加一;当某对象的shared_ptr
减少时,引用计数随之减一。
shared_ptr对象的use_count的函数成员返回引用计数值:
shared_ptrp2, p3;p2 = p1;p3 = p1;// p1,p2,p3指向同一对象,所以引用技术值为3cout << p2.use_count() << endl;
5、shared_ptr何时释放其所指向的对象?
当同一对象的引用计数变为0时,此对象所占空间就会被释放,
比如函数调用结束时:
class SP {public: ~SP() { cout << "Destroy SP" << endl; }};void auto_destroy() { // 创建SP类型的共享智能指针 shared_ptrp1 = make_shared ();}
当调用auto_destroy()
函数结束时,不需要手动的释放shared_ptr
所指向的内存空间,系统会自动的销毁SP对象。
"C++智能指针shared_ptr怎么使用"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
对象
指向
指针
C++
函数
智能
类型
内存
内容
更多
知识
空间
支持
实用
学有所成
接下来
也就是
使用者
动态
困境
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
怎么进入国研网数据库
服务器装固态硬盘数据库查询
爬虫软件开发工程师
华为存储服务器管理端口设置
网络安全 十三五 规划
昆明软件开发红岭云
php连接数据库成功返回
大班网络安全宣传周教案
江苏众泰互联网科技有限公司
赣玛服务器
运维属于软件开发者吗
世纪互联采用哪家公司的服务器
数据库文件夹
银川互联网材料科技园项目
远程服务器管理app
大话西游数据库添加物品
学生社团管理数据库er
修改数据库服务器日期命令
网络安全手抄报 视频
garena服务器经常连接失败
服务器租用的问题
即时通讯服务器有哪些
剧场订票管理系统数据库课设
成绩在数据库怎么定义
软件开发实训任务及要求
福州有度网络安全违法
郑州网络安全
计算机专业考研数据库原理
以数据库为基础的信息技术
我的世界服务器地皮怎么设计好看