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
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?