当前位置: 首页 > news >正文

weak_from_this

C++(11):weak_from_this从对象内部获取weak_ptr_weak from this-CSDN博客


class A
{
int test()
{auto b = std::make_shared<B>();b->pter_ = this->weak_from_this();}
};class B
{
std::weak_ptr<A> pter_;
};

#include <memory>
#include <iostream>
using namespace std;class A : public ::enable_shared_from_this<A>
{
public:~A(){cout << "Destruct A" <<endl;}weak_ptr<A> getWeak(){return weak_from_this();}
};int main()
{shared_ptr<A> sp1(new A());cout << "sp1.use_count() = " << sp1.use_count() << endl;shared_ptr<A> sp2 = sp1->getWeak().lock();if(sp2 != nullptr){cout << "sp2.use_count() = " << sp2.use_count() << endl;}return 0;
}


http://www.mrgr.cn/news/33731.html

相关文章:

  • 信息安全技术基础知识
  • vscode 顶部 Command Center,minimap
  • RuntimeError: Maximum Recursion Depth Exceeded - 递归深度超限的完美解决方案
  • uniapp自定义Tabbar教程
  • [Redis] 渐进式遍历+使用jedis操作Redis+使用Spring操作Redis
  • 【机器学习】12-决策树1——概念、特征选择
  • 内网穿透out了?黑群晖+IPv6+NAS公网助手的访问体验
  • 强大的重命名工具 | Bulk Rename Utility v4.0 便携版
  • Integer 源码记录
  • Web Components之继承
  • K8s容器运行时,移除Dockershim后存在哪些疑惑?
  • 局部凸空间及其在算子空间中的应用之四——归纳极限空间2
  • MATLAB中多张fig图合并为一个图
  • 如何使用数字人直播?
  • 深度学习03-神经网络01-什么是神经网络?
  • 算法之逻辑斯蒂回归(Logistic regression)
  • Maven-一、分模块开发
  • Excel常见操作命令~你值得拥有!
  • 没错,我给androidx修了一个bug!
  • 认识结构体