小测试:boost之shared_ptr在容器类std::list中的使用

本文展示了在std::list容器中使用智能指针进行对象添加与删除的操作,包括通过原始指针、智能指针、迭代器、boost::enable_shared_from_this等方法。代码实例在VS2005及boost_1_37_0下编译通过,重点讨论了对象管理的多种方式及其应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一个小测试:在std::list容器中使用shared_ptr,演示了对象的添加与删除的多种方式:通过原始指针(raw pointer)、智能指针(smart pointer)、迭代器(iterator)、boost::enable_shared_from_this等。例子中的代码只做演示用,实际使用时只用其中的部分做法即可,视应用程序的需要而定。在VS2005及boost_1_37_0下编译运行通过。

 

 

简要说明:

  • #1、有重复删除问题,解决的方法是#3,需配合boost::enable_shared_from_this.
  • #2、尚未使用shared_ptr,还不能从内部的weak_ptr获取shared_ptr。
  • #3、解决了问题#1

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值