您当前的位置: 首页 >  ar

令狐掌门

暂无认证

  • 0浏览

    0关注

    513博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

c++ boost enable_shared_from_this原理分析与代码演示

令狐掌门 发布时间:2021-10-30 17:30:28 ,浏览量:0

enable_shared_from_this介绍

  在使用boost库时,经常会遇到enable_shared_from_this,这个类有什么用呢,在c++ std里,也有这个类,先来看看std中关于enable_shared_from_this的解释:

  派生自的对象enable_shared_from_this可以使用shared_from_this成员函数中的方法来创建与现有所有者共享所有权的实例的shared_ptr所有者。否则,如果使用this创建新的shared_ptr,则它与现有shared_ptr所有者不同,这可能导致无效引用或导致对象被多次删除。

  这种解释可能有点难懂,来看一个例子, 下面有一个Test类,他的成员函数getptr使用this创建新的shared_ptr实例:

#include 
#include 

class Test
{
public:
	std::shared_ptr getptr()
	{
		//通过this来new一个新的shared_ptr
		return std::shared_ptr(this);
	}

	~Test() 
	{ 
		std::cout             
关注
打赏
1652240117
查看更多评论
0.0545s