C++智能指针shared_ptr怎么使用
发表于:2024-12-12 作者:千家信息网编辑
千家信息网最后更新 2024年12月12日,本篇内容介绍了"C++智能指针shared_ptr怎么使用"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所
千家信息网最后更新 2024年12月12日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安全错误
数据库的锁怎样保障安全
谣言数据库cnopendata
深圳康康网络技术产品
服务器销售自我介绍
成都项目软件开发机构
苏州齐装网络技术公司
问道经典服务器bb升级
计算机网络安全技术及防2搞
如何删除云端备份的数据库
中娱网络技术有限公司
数据库对数是什么关系
网络安全装置部署方式种类
锋泽网络技术
管家婆通过数据库恢复帐套
fm17 最新数据库
未配齐网络安全设备的
关于rsasdns服务器配置
中卫软件开发规范
网络安全学习些啥
房山区通用网络技术常见问题
读数据库发生错误03113
苏州市腾云网络技术有限公司
网络安全安全学科评估
关系数据库资源冲突的解决方式
如何访问内网服务器
vf如何删除一列数据库
数据库年龄字符类型
ecshop 数据库名
中卫软件开发规范
达梦数据库字段数量
多级关系数据库