c++day7

ops/2024/9/25 2:09:27/

【4】weak_ptr

//引入weak_ptr解决循环引用问题
#include <iostream>
#include <memory>
using namespace std;
class Test;
class Demo
{
public:weak_ptr<Test> t;   //指向Test类的弱智能指针Demo(){cout << "Demo的无参构造" << endl;}~Demo(){cout << "Demo的析构" << endl;}
};class Test
{
public:weak_ptr<Demo> d;  //指向Demo类的弱智能指针Test(){cout << "Test的无参构造" << endl;}~Test(){cout << "Test的析构" << endl;}
};
int main()
{shared_ptr<Demo> p1(new Demo);shared_ptr<Test> p2(new Test);p1->t = p2;  //让p1中的指针成员指向p2p2->d = p1;  //让p2中的指针成员指向p1cout << "p1的计数:" << p1.use_count() << endl;cout << "p2的计数:" << p2.use_count() << endl;//weak_ptr<Demo> p3(new Demo);  weak_ptr不能独立使用,不能自己指向堆区的空间,需要使用shared_ptr赋值weak_ptr<Demo> p3(p1);cout << "p1的计数:" << p1.use_count() << endl;return 0;
}

http://www.ppmy.cn/ops/25135.html

相关文章

Mac下使用homebrew管理多版本mysql同时启动

Mac下使用homebrew管理多版本mysql同时启动 思路 给每个版本分配不同的数据目录和配置文件即可 本文尝试了使用 brew 安装管理多个MySQL版本&#xff0c;同时运行、直接切换 安装 如果已有数据文件请自行备份以及使用 安装 mysql 5.7 brew install mysql5.7在 /opt/home…

Linux——web动态内容和CGI

一、动态内容 配置动态内容一般出于下面这几点的考虑&#xff1a; 1. 实时数据更新&#xff1a;动态站点可以根据用户的请求和操作实时生成内容&#xff0c;从而确保站点的数据和内容 始 终保持最新。这对于需要频繁更新或者与用户交互的网站非常重要&#xff0c;比如社交媒体…

vue3中的reactive、readonly和shallowReactive

在 Vue 3 中&#xff0c;reactive、readonly 和 shallowReactive 是用于创建响应式对象的函数&#xff0c;它们可以帮助管理组件状态和数据流。下面是它们的详细介绍以及相应的代码示例&#xff1a; reactive: reactive 函数用于创建一个完全响应式的对象&#xff0c;当对象的属…

# IntelliJ IDEA 中 springboot 启动类 SpringApplication.run 报红分析

IntelliJ IDEA 中 springboot 启动类 SpringApplication.run 报红分析 一、原因分析&#xff1a;通常 SpringApplication.run 报红&#xff0c;可能是由以下几种原因造成的&#xff1a; 1、项目的主配置文件中 pom.xml 可能没有导入相关依赖。 2、方法参数错误&#xff1a;S…

table表格导出为excel文件并设置样式

table表格导出为excel文件并设置样式 安装xlsx、xlsx-style-medalsoft 的 npm 包&#xff1a; npm i xlsx xlsx-style-medalsoft设置全局&#xff1a; Vue.prototype.$XLSX XLSX; // 设置全局 Vue.prototype.$XLSXStyle XLSXStyle; // 设置全局具体代码实现&#xff1a; …

利用Python开发一个上传文件的服务

准备工作&#xff1a; 1、安装uvicorn&#xff0c;利用其来作为web服务器 2、安装Starlette&#xff0c;利用其来作为web开发框架 3、安装python-multipart&#xff0c;让其支持form表达形式的文件上传 4、postman&#xff1a;文件上传的发起者&#xff0c;这样我们就不用写…

Visual Studio C++ 示例

Visual Studio C++ 示例 项目2023/06/163 个参与者反馈 本文内容 GitHub 上的存档 C++ 示例ATL 示例CLR 和语言示例 - Windows 窗体COM 事件示例显示另外 13 个 Visual Studio C++ 示例可在 Web 上找到。 Microsoft 已生成许多 C++ 示例,这些示例演示了跨多种技术的不同功能…

React、React Router 和 Redux 常用Hooks 总结,提升您的开发效率!

Hooks 是 React 16.8 中引入的一种新特性&#xff0c;它使得函数组件可以使用 state 和其他 React 特性&#xff0c;从而大大提高了函数组件的灵活性和功能性。下面分别总结React、React Router 、Redux中常用的Hooks。 常用Hooks速记 React Hooks useState&#xff1a;用于…