c++中的weak_ptr的使用与理解
(资料图片)
weak_ptr 的使用
\(\quad\)关于为什么使用 weak_ptr
,以及他的使用场景,我们在这篇文章中已经进行了介绍。而对于其具体的使用方法,比如说如何通过 weak_ptr
访问内存中的数据等操作还未提及,这里做个简单赘述。
\(\quad\)有一句话说的很好: weak_ptr
就像观测者那样观测资源的使用情况。
- 首先,
weak_ptr
是配合shared_ptr
的使用,weak_ptr
可以用shared_ptr
来赋值,但当它引用shared_ptr
时并不会引起它的计数。 - 另外,
weak_ptr
并没有重载解引用等操作符,也不单独使用(不能单独使用的原因是,weak_ptr
没有重载解引用*、->运算符,也就是说它只能访问但不能修改)。 - 使用
expired()
检查weak_ptr
的引用情况(expired()==true
时表示资源已被释放),使用lock()
获取一个shared_ptr
的对象。
和 shared_ptr
、unique_ptr
相比,weak_ptr
模板类提供的成员方法不多,以下是常用的成员方法及各自的功能:
- operator=():重载 = 赋值运算符,是的
weak_ptr
指针可以直接被weak_ptr
或者shared_ptr
类型指针赋值。 - swap(x):其中 x 表示一个同类型的
weak_ptr
类型指针,该函数可以互换 2 个同类型weak_ptr
指针的内容。 - reset():将当前
weak_ptr
指针置为空指针。 - use_count():查看指向和当前
weak_ptr
指针相同的shared_ptr
指针的数量。 - expired():判断当前
weak_ptr
指针为否过期(指针为空,或者指向的堆内存已经被释放)。 - lock():如果当前
weak_ptr
已经过期,则该函数会返回一个空的shared_ptr
指针;反之,该函数返回一个和当前weak_ptr
指向相同的shared_ptr
指针。
示例程序
#include #include void observe(std::weak_ptr weak){ if (auto observe = weak.lock()) { std::cout << "\tobserve() able to lock weak_ptr<>, value=" << *observe << "\n"; } else { std::cout << "\tobserve() unable to lock weak_ptr<>\n"; }}int main(){ std::weak_ptr weak; std::cout << "weak_ptr<> not yet initialized\n"; observe(weak); { auto shared = std::make_shared(42); weak = shared; std::cout << "weak_ptr<> initialized with shared_ptr.\n"; observe(weak); std::cout << "weak_ptr<> use_count() "<< weak.use_count() << ".\n"; std::weak_ptr weak2; weak2 = weak; std::cout << "after weak_ptr assignment, use_count is "<< weak.use_count() << ".\n"; weak.reset(); if (weak.expired()) std::cout << "weak_ptr expired, con not use\n"; } std::cout << "shared_ptr<> has been destructed due to scope exit.\n"; observe(weak);}
输出如下:
weak_ptr<> not yet initializedobserve() unable to lock weak_ptr<>weak_ptr<> initialized with shared_ptr.observe() able to lock weak_ptr<>, value=42weak_ptr<> use_count() 1.after weak_ptr assignment, use_count is 1.weak_ptr expired, con not useshared_ptr<> has been destructed due to scope exit.observe() unable to lock weak_ptr<>
上一篇:元象开源百亿参数通用大模型
下一篇:最后一页
X 关闭
推荐内容
- c++中的weak_ptr的使用与理解
- 元象开源百亿参数通用大模型
- 巢湖学院发致歉声明
- 郑商所7月处理异常交易行为34起
- 韩国人幸福指数下降 收入和学历是影响幸福感的重要因素
- 21深度|越南出口创14年最长跌势,供应链脆弱性显现更遭遇被“替代”风险?
- 香港力推Web3.0发展,多方争相涌入虚拟资产赛道
- 增强为民服务意识 提升为民服务本领(记者手记)
- 2021年 体育赛事(2021年体育赛事一览表)
- 极致享受 大众探岳助你徜徉在音乐的国度
- 突发!莫斯科市长:摧毁
- 不止于奖牌!世界运动员成都大运会上见证友谊 成就梦想
- 图说大运|覃海洋勇夺50米蛙泳决赛冠军
- 陆家嘴水环上将“长出”7个口袋公园,各具特色
- 山洪灾害橙色预警!吉林云南局部地区发生山洪灾害可能性大
- 国际大体联秘书长:成都大运会让世界发现真正的中国
- 农业机器人、农机大数据平台……这些智能化装备助力端好“中国饭碗”
- 山东平原发生5.5级地震 震区居民:整幢楼跟拧麻花一样晃动
- 宁波邦元造价实操培训:三种止水措施分析对比
- 中国海警依法驱离菲非法进入我仁爱礁邻近海域船只
- 山东突发地震河南有震感 河南省地震局最新研判
- 正川转债价值分析(正川转债价值分析上市能赚多少)
- 维金斯:去年夺冠路上莫兰特最难防 塔图姆&东契奇也是狠角色
- 四类行业重点企业工伤预防能力提升培训工程将实施
- 热身赛-奥纳纳遭中圈吊射 拉什福德造两球 曼联3-1逆转朗斯
- 在韶关管控区可以出门吗?(韶关服务区能住宿吗)
- 再见卡椒!快船2换1交易方案来袭!鲍威尔成牺牲品,火箭赚麻了
- 俄罗斯国防部:俄罗斯派出苏-30战机应对美国在黑海上空的侦察无人机。
- 张威铭人物透雕非遗艺术展开幕
- 序
- 电影《孤注一掷》点映及预售总票房破2亿
- 除了卡梅,还有哪些院校以「交互」著称?
- 广西完善县城基础设施 推进以县城为重要载体城镇化建设
- 平安增城的建设,不能没有他们!
- 2023年宁夏城乡养老保险基础养老金是多少钱一个月(宁夏基础养老金多少钱一个月?)
- 山东舰过航台湾海峡画面首度公开,体现三个“高度”
- 汤臣倍健2023上半年盈利增长47.41% 净利润超15亿
- 请注意!近期六村堡互通立交将采取临时管制措施
- 俄媒:武契奇称,塞尔维亚将无视美国对波黑塞族共和国领导人制裁
- CBC铌金属一周要闻精选(7.31-8.4)
- 水发燃气(603318)8月4日主力资金净卖出733.87万元
- “三大球”系列赛事、农耕健身大赛……宁夏将举办丰富多样的全民健身日活动
- 我市本周主要农产品价格总体保持相对稳定走势
- 8月4日基金净值:富国消费主题混合A最新净值2.646,涨0.15%
- C919“双机营运”!全球交付仅两架,为何“双飞”成都?
- 十三届全国政协原常委、社会和法制委员会原主任沈德咏一审获刑 15 年
- 海岱财经|淄股一周:亚华电子获新专利,卓创资讯涨幅超30%
- 本周盘点(7.31-8.4):中捷精工周涨9.07%,主力资金合计净流出287.28万元
- 海阔天空粤语谐音歌词简谱 海阔天空粤语谐音歌词
- 金埔园林股东拟合计减持不超6.36%股份
- 立昂技术:王刚累计质押股数约为6683万股
- 霍华德大学与亚马逊工作室合作推出霍华德娱乐
- 郑氏点银:黄金留意拐点支撑1921,原油回归强势拉升
- 龙虎榜:炒股养家、方新侠等4大游资接力太平洋,联手打造券商总龙头
- 华为开发者大会2023正式开启 一文带你了解全新鸿蒙世界
- 年轻干部吃好“一日三餐”赋能远行
- 美股盘前:亚马逊涨超9%,苹果跌约2%,美国超导涨超18%
- Fami通新一周销量榜 《皮克敏4》二连冠
- SMM周评:本周三元材料行情简评
- 郧西县香口乡打好“产业牌”奏响“振兴曲”
- 精神恍惚是什么意思_精神恍惚
- Citywalk、抱树、代遛狗……当代青年如何自我治愈
- 丰产路办事处开展牵好文明绳,树文明养犬风
- 儿童运动需求升级,江博士特制儿童运动训练鞋
- 重庆事业单位招聘考试多人作弊官方:8人违纪取消成绩
- 有色金属ETF(512400)涨0.65%,锡业股份涨2.36%
- 卡特彼勒官网 卡特彼勒公司
- 出行提示!成都这些大运会场馆附近道路如何避堵,交警给你支招
- 【金瓶梅解读】《金瓶梅》中西门庆为什么要勾搭奴才的媳妇?
- 全国首个氢能碳减排交易项目落地北京 预计年碳减排量2.4万吨
- 安徽江南泵阀集团_江南泵阀耐腐蚀泵
- 私募发行创年内新低 “冰点”时刻入场胜率大增
- “种草”风潮降温后,小家电市场该如何发力?
- 大数据板块8月3日涨0.22%,华立股份领涨,主力资金净流出9.25亿元
- 中国女足拿下生死战黄健翔 黄健翔:女足世界杯旧格局彻底颠覆 基本情况讲解
- 深圳市证券业协会召开活跃深圳证券交易市场座谈会
- 全国旅游一卡通2023_全国旅游一卡通
- 覃海洋轻松晋级男子200米蛙泳总决赛
- 机械狂潮怎么快速通关_机械狂魔是什么意思
- 天丝集团红牛®维生素牛磺酸饮料再携手世界顶级赛事,成上海劳力士大师赛官方合作伙伴
- 华泰证券:华泰国际为华泰国际财务发行1000万美元中期票据提供担保
- 4月19日发布国产版 别克新君威家族首发
- 黑龙江一高速桥梁部分坍塌致两车跌落,官方:有人员获救
- 港股三大指数涨跌不一 康龙化成领衔医药外包概念股反弹
- “楼顶建豪华泳池”,当地再通报
- “幸福睦邻坊”解锁社区生活幸福密码
- 小心中毒!以前极少,今年已有多例!
- 江畔独步寻花古诗
- 对拉螺杆与止水螺杆 对拉螺杆与止水螺杆的区别
- 简化理赔流程暴雨受损车辆保险受理最快3分钟结案
- 简单夫妻离婚协议书示例合集
- “亚洲一家”共创未来 杭州亚运会推广歌曲《同爱同在》MV发布
- 美股周三收跌,纳指相关ETF普跌逾1%
- 天风证券赵晓光:智能手机仍是一个被严重低估的行业
- 上半年我国煤炭供应能力稳步提升 全社会存煤维持高位
- 疯狂IPO,杀鸡取卵,2天发6只,市盈率143倍,圈钱停不住?
- 电科数字08月02日获沪股通增持1.31万股
- 北元集团:融资净偿还18.98万元,融资余额1.22亿元(08-02)
- 康弘药业(002773):8月2日北向资金增持36.45万股
- 认房不认贷真是机会?
精彩推荐
-
c++中的weak_ptr的使用与理解2023-08-07
-
元象开源百亿参数通用大模型2023-08-07
-
巢湖学院发致歉声明2023-08-07
-
郑商所7月处理异常交易行为34起2023-08-07
-
韩国人幸福指数下降 收入和学历是影响幸福感的重要因素2023-08-07
-
21深度|越南出口创14年最长跌势,供应链脆弱性显现更遭遇被“替代”风险?2023-08-07
-
香港力推Web3.0发展,多方争相涌入虚拟资产赛道2023-08-07
-
增强为民服务意识 提升为民服务本领(记者手记)2023-08-07
-
2021年 体育赛事(2021年体育赛事一览表)2023-08-07
-
极致享受 大众探岳助你徜徉在音乐的国度2023-08-07
-
突发!莫斯科市长:摧毁2023-08-06
-
不止于奖牌!世界运动员成都大运会上见证友谊 成就梦想2023-08-06
-
图说大运|覃海洋勇夺50米蛙泳决赛冠军2023-08-06
-
陆家嘴水环上将“长出”7个口袋公园,各具特色2023-08-06
-
山洪灾害橙色预警!吉林云南局部地区发生山洪灾害可能性大2023-08-06
-
国际大体联秘书长:成都大运会让世界发现真正的中国2023-08-06
-
农业机器人、农机大数据平台……这些智能化装备助力端好“中国饭碗”2023-08-06
-
山东平原发生5.5级地震 震区居民:整幢楼跟拧麻花一样晃动2023-08-06
-
宁波邦元造价实操培训:三种止水措施分析对比2023-08-06
-
中国海警依法驱离菲非法进入我仁爱礁邻近海域船只2023-08-06
-
山东突发地震河南有震感 河南省地震局最新研判2023-08-06
-
正川转债价值分析(正川转债价值分析上市能赚多少)2023-08-06
-
维金斯:去年夺冠路上莫兰特最难防 塔图姆&东契奇也是狠角色2023-08-06
-
四类行业重点企业工伤预防能力提升培训工程将实施2023-08-06
-
热身赛-奥纳纳遭中圈吊射 拉什福德造两球 曼联3-1逆转朗斯2023-08-06
-
在韶关管控区可以出门吗?(韶关服务区能住宿吗)2023-08-06
-
再见卡椒!快船2换1交易方案来袭!鲍威尔成牺牲品,火箭赚麻了2023-08-06
-
俄罗斯国防部:俄罗斯派出苏-30战机应对美国在黑海上空的侦察无人机。2023-08-06
-
张威铭人物透雕非遗艺术展开幕2023-08-05
-
序2023-08-05
-
电影《孤注一掷》点映及预售总票房破2亿2023-08-05
-
除了卡梅,还有哪些院校以「交互」著称?2023-08-05
-
广西完善县城基础设施 推进以县城为重要载体城镇化建设2023-08-05
-
平安增城的建设,不能没有他们!2023-08-05
-
2023年宁夏城乡养老保险基础养老金是多少钱一个月(宁夏基础养老金多少钱一个月?)2023-08-05
-
山东舰过航台湾海峡画面首度公开,体现三个“高度”2023-08-05
-
汤臣倍健2023上半年盈利增长47.41% 净利润超15亿2023-08-05
-
请注意!近期六村堡互通立交将采取临时管制措施2023-08-05
-
俄媒:武契奇称,塞尔维亚将无视美国对波黑塞族共和国领导人制裁2023-08-05
-
CBC铌金属一周要闻精选(7.31-8.4)2023-08-05
-
水发燃气(603318)8月4日主力资金净卖出733.87万元2023-08-05
-
“三大球”系列赛事、农耕健身大赛……宁夏将举办丰富多样的全民健身日活动2023-08-05
-
我市本周主要农产品价格总体保持相对稳定走势2023-08-05
-
8月4日基金净值:富国消费主题混合A最新净值2.646,涨0.15%2023-08-05
-
C919“双机营运”!全球交付仅两架,为何“双飞”成都?2023-08-05
-
十三届全国政协原常委、社会和法制委员会原主任沈德咏一审获刑 15 年2023-08-05
-
海岱财经|淄股一周:亚华电子获新专利,卓创资讯涨幅超30%2023-08-05
-
本周盘点(7.31-8.4):中捷精工周涨9.07%,主力资金合计净流出287.28万元2023-08-05
-
海阔天空粤语谐音歌词简谱 海阔天空粤语谐音歌词2023-08-04
-
金埔园林股东拟合计减持不超6.36%股份2023-08-04
-
立昂技术:王刚累计质押股数约为6683万股2023-08-04
-
霍华德大学与亚马逊工作室合作推出霍华德娱乐2023-08-04
-
郑氏点银:黄金留意拐点支撑1921,原油回归强势拉升2023-08-04
-
龙虎榜:炒股养家、方新侠等4大游资接力太平洋,联手打造券商总龙头2023-08-04
-
华为开发者大会2023正式开启 一文带你了解全新鸿蒙世界2023-08-04
-
年轻干部吃好“一日三餐”赋能远行2023-08-04
-
美股盘前:亚马逊涨超9%,苹果跌约2%,美国超导涨超18%2023-08-04
-
Fami通新一周销量榜 《皮克敏4》二连冠2023-08-04
-
SMM周评:本周三元材料行情简评2023-08-04
-
郧西县香口乡打好“产业牌”奏响“振兴曲”2023-08-04
-
精神恍惚是什么意思_精神恍惚2023-08-04
-
Citywalk、抱树、代遛狗……当代青年如何自我治愈2023-08-04
-
丰产路办事处开展牵好文明绳,树文明养犬风2023-08-04
-
儿童运动需求升级,江博士特制儿童运动训练鞋2023-08-04
-
重庆事业单位招聘考试多人作弊官方:8人违纪取消成绩2023-08-04
-
有色金属ETF(512400)涨0.65%,锡业股份涨2.36%2023-08-04
-
卡特彼勒官网 卡特彼勒公司2023-08-04
-
出行提示!成都这些大运会场馆附近道路如何避堵,交警给你支招2023-08-04
-
【金瓶梅解读】《金瓶梅》中西门庆为什么要勾搭奴才的媳妇?2023-08-04
-
全国首个氢能碳减排交易项目落地北京 预计年碳减排量2.4万吨2023-08-04
-
安徽江南泵阀集团_江南泵阀耐腐蚀泵2023-08-04
-
私募发行创年内新低 “冰点”时刻入场胜率大增2023-08-04
-
“种草”风潮降温后,小家电市场该如何发力?2023-08-04
-
大数据板块8月3日涨0.22%,华立股份领涨,主力资金净流出9.25亿元2023-08-04
-
中国女足拿下生死战黄健翔 黄健翔:女足世界杯旧格局彻底颠覆 基本情况讲解2023-08-03
-
深圳市证券业协会召开活跃深圳证券交易市场座谈会2023-08-03
-
全国旅游一卡通2023_全国旅游一卡通2023-08-03
-
覃海洋轻松晋级男子200米蛙泳总决赛2023-08-03
-
机械狂潮怎么快速通关_机械狂魔是什么意思2023-08-03
-
天丝集团红牛®维生素牛磺酸饮料再携手世界顶级赛事,成上海劳力士大师赛官方合作伙伴2023-08-03
-
华泰证券:华泰国际为华泰国际财务发行1000万美元中期票据提供担保2023-08-03
-
4月19日发布国产版 别克新君威家族首发2023-08-03
-
黑龙江一高速桥梁部分坍塌致两车跌落,官方:有人员获救2023-08-03
-
港股三大指数涨跌不一 康龙化成领衔医药外包概念股反弹2023-08-03
-
“楼顶建豪华泳池”,当地再通报2023-08-03
-
“幸福睦邻坊”解锁社区生活幸福密码2023-08-03
-
小心中毒!以前极少,今年已有多例!2023-08-03
-
江畔独步寻花古诗2023-08-03
-
对拉螺杆与止水螺杆 对拉螺杆与止水螺杆的区别2023-08-03
-
简化理赔流程暴雨受损车辆保险受理最快3分钟结案2023-08-03
-
简单夫妻离婚协议书示例合集2023-08-03
-
“亚洲一家”共创未来 杭州亚运会推广歌曲《同爱同在》MV发布2023-08-03
-
美股周三收跌,纳指相关ETF普跌逾1%2023-08-03
-
天风证券赵晓光:智能手机仍是一个被严重低估的行业2023-08-03
-
上半年我国煤炭供应能力稳步提升 全社会存煤维持高位2023-08-03
-
疯狂IPO,杀鸡取卵,2天发6只,市盈率143倍,圈钱停不住?2023-08-03
-
电科数字08月02日获沪股通增持1.31万股2023-08-03
-
北元集团:融资净偿还18.98万元,融资余额1.22亿元(08-02)2023-08-03
-
康弘药业(002773):8月2日北向资金增持36.45万股2023-08-03
-
认房不认贷真是机会?2023-08-03