您当前的位置: 首页 >  ar

插件开发

暂无认证

  • 2浏览

    0关注

    492博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Boost库-功能介绍-boost::shared_ptr-智能共享对象

插件开发 发布时间:2022-05-20 08:38:23 ,浏览量:2

  boost::shared_ptr是可以共享所有权的指针。如果有多个shared_ptr共同管理同一个对象时,只有这些shared_ptr全部与该对象脱离关系之后,被管理的对象才会被释放。 shared_ptr的管理机制其实并不复杂,就是对所管理的对象进行了引用计数,当新增一个shared_ptr对该对象进行管理时,就将该对象的引用计数加一;减少一个shared_ptr对该对象进行管理时,就将该对象的引用计数减一,如果该对象的引用计数为0的时候,说明没有任何指针对其管理,才调用delete释放其所占的内存。范例代码如下所示:

#include 
#include 
#include 

class Class1{
public:
	Class1(){}
	Class1(std::string str)
	{
		this->m_str = str; 
	}
	~Class1(){}

public:
	std::string m_str;
};

void setStr(boost::shared_ptr sp3)
{
	sp3->m_str = "广州知了软件有限公司";
	std::cout             
关注
打赏
1665481431
查看更多评论
0.0406s