C++之深拷贝和浅拷贝*

news2024/9/21 20:12:55

两者本质:


浅拷贝:简单的赋值拷贝操作

深拷贝:在堆区中重新申请空间,进行拷贝操作new & delete

注意事项:堆区是在地址中重新申请空间,所以后续一系列操作new delete是通过指针* age进行操作(解决拷贝操作中指针复制时,产生的堆区指针地址重复释放的问题)

 有参构造:指针需要手动开辟堆区new

 

 拷贝操作:

1.参数格式

2.开辟内容int *(主要看传入的是什么)

 

#include<iostream>
using namespace std;

class Person
{
public:

	int age;
	int *weight;

	//有参构造
	Person(int a,int w){
		age = a;
		weight = new int(w);    //指针属性要手动开辟new!!!!
		cout << "有参构造" << endl;
	}

	//拷贝操作
	//const防止对引用数据的意外修改
	Person(const Person &p)
	{
		//浅拷贝
		/*age = p.age;
		weight = p.weight;*/

		//深拷贝
		age = p.age;
		weight = new int(*p.weight);//new一个体重指针int大小的堆区
	}

	//析构函数
	~Person()
	{
		if (weight != NULL)
		{
			delete weight;
			weight = NULL;
		}
		cout << "Person析构函数调用" << endl;
	}

	
};
//int main()
//{
//	Person p1(22, 90);
//	cout << "p1的年龄和体重" << p1.age << " " << *p1.weight << endl;
//
//	Person p2(p1);
//	cout << "p2的年龄和体重" << p2.age << " " << *p2.weight << endl;
//
//
//	system("pause");
//	return 0;
//}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2153211.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

某 XXX 云主机,使用感受

简单来说就是: 垃圾&#xff01; 1. 登录垃圾。 我都已经实名认证了&#xff0c; 手机验证码非要发2遍。非要给我起个很难记住的账户名 2. 文档垃圾。 太高估用户的水平了。 建议做点视频教程。而不是各种文档&#xff0c;互相链接&#xff0c;转来转去&#xff0c; 让人心…

LeetCode[简单] 20.有效的括号

给定一个只包括 (&#xff0c;)&#xff0c;{&#xff0c;}&#xff0c;[&#xff0c;] 的字符串 s &#xff0c;判断字符串是否有效。 有效字符串需满足&#xff1a; 左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都有一个对应的相同类型的左括…

NRK3502空气净化器语音芯片方案,本地识别算法+芯片架构

随着环境污染问题的日益严重&#xff0c;空气净化器成为人们居家、办公环境中不可或缺的设备&#xff0c;为了提升用户体验和产品性能&#xff0c;广州九芯电子研发出了一款创新的空气净化器语音芯片方案--NRK3502。此方案结合了本地识别算法与芯片架构&#xff0c;提供Turnkey…

SpringBoot+vue集成sm2国密加密解密

文章目录 前言认识SM2后端工具类实现引入依赖代码实现工具类&#xff1a;SM2Util 单元测试案例1&#xff1a;生成服务端公钥、私钥&#xff0c;前端js公钥、私钥案例2&#xff1a;客户端加密&#xff0c;服务端完成解密案例3&#xff1a;服务端进行加密&#xff08;可用于后面前…

巴蒂克图案识别系统源码分享

巴蒂克图案识别检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer V…

安全热点问题

安全热点问题 1.DDOS2.补丁管理3.堡垒机管理4.加密机管理 1.DDOS 分布式拒绝服务攻击&#xff0c;是指黑客通过控制由多个肉鸡或服务器组成的僵尸网络&#xff0c;向目标发送大量看似合法的请求&#xff0c;从而占用大量网络资源使网络瘫痪&#xff0c;阻止用户对网络资源的正…

手把手教你java+selenium数据驱动测试框架搭建与实践

最近在看JavaseleniumTestNgExcel的数据驱动&#xff0c;如何使用TestNg和Excel进行数据驱动测试。我其实是个自动化测试小白&#xff0c;工作之余看看这方面的书&#xff0c;照着敲敲代码&#xff0c;慢慢理解&#xff0c;希望通过自己坚持不懈的努力&#xff0c;在测试这个职…

Python语言基础教程(下)4.0

✨博客主页&#xff1a; https://blog.csdn.net/m0_63815035?typeblog &#x1f497;《博客内容》&#xff1a;.NET、Java.测试开发、Python、Android、Go、Node、Android前端小程序等相关领域知识 &#x1f4e2;博客专栏&#xff1a; https://blog.csdn.net/m0_63815035/cat…

记录一下(goland导入其他包方法编译不了爆红但能正常使用)

在goLand里面新建go文件,里面放了一个方法,首字符也大写了,但是在别的包里面报错显示无法识别,爆红显示,但是项目能正常运行,这里说下我的解决方案 即可解决

软件设计师——操作系统

&#x1f4d4;个人主页&#x1f4da;&#xff1a;秋邱-CSDN博客☀️专属专栏✨&#xff1a;软考——软件设计师&#x1f3c5;往期回顾&#x1f3c6;&#xff1a;C: 类和对象&#xff08;上&#xff09;&#x1f31f;其他专栏&#x1f31f;&#xff1a;C语言_秋邱 一、操作系统…

粘接黑科技标杆专业展会-ASE CHINA 2024 震撼开幕!

2024年9月19日&#xff0c;第27届国际胶粘剂及密封剂展暨第19届国际胶粘带与薄膜展&#xff08;以下简称ASE CHINA 2024&#xff09;在上海新国际博览中心N3-N4-N5馆璀璨揭幕。ASE CHINA作为粘接新材料产业风向标&#xff0c;历经27年的辛苦耕耘&#xff0c;与业界同仁并肩而行…

发布策略说明

发布策略说明 发布策略 区别 标准发布 在部署新版本应用时删除旧版本应用。发布过程中&#xff0c;您的服务会出现短暂中断。 蓝绿发布 应用更新时生成蓝绿两个版本&#xff0c;两个版本互相热备&#xff0c;通过切换路由权重的方式实现不同版本应用的上下线。 该发布策略具…

Moshi: a speech-text foundation model for real time dialogue

视频号 挺神奇的东西 整下来 kyutai-labs/moshi (github.com) git clone https://github.com/kyutai-labs/moshi.git 在线体验 moshi.chat 结束后 点击Download audio Download video 可以下载音频与视频 &#xff08;不过是webm格式&#xff09; 发行版 已上传至资源 小…

Qt (19)【Qt 线程安全 | 互斥锁QMutex QMutexLocker | 条件变量 | 信号量】

阅读导航 引言一、互斥锁1. QMutex&#xff08;1&#xff09;基本概念&#xff08;2&#xff09;使用示例基本需求⭕thread.h⭕thread.cpp⭕widget.h⭕widget.cpp 2. QMutexLocker&#xff08;1&#xff09;基本概念&#xff08;2&#xff09;使用示例 3. QReadWriteLocker、QR…

AI论文写作PPT思维导图PC小程序开发

AI论文写作PPT思维导图PC小程序开发 AI智能PPT功能 一键生成PPT大纲、一键扩写大纲内容、单独扩写某个大纲内容、一键生成内容关键词、单项内容关键词生成、新增大纲项、修改大纲、删除大纲、选择PPT模板、单页模板一键切换、在线编辑模板&#xff1b;支持导出PPTX、JPEG、&am…

nodejs 013:Prect 样式复用(multiple classes)例子

Prect 简单示例 Prect 为使用相同的现代 API 的快速 3kB React 替代方案。代码形式与 React 基本相同。部分语法区别可见 prect-differences-to-react。以下是一个 Prect 简单示例。 Button目录Button.css&#xff1a; .this {display: inline-block;padding: 3px 8px;margi…

执行网络攻击模拟的 7 个步骤

在进攻和防守策略方面&#xff0c;我们可以从足球队和美式足球队身上学到很多东西。球员们会分析对方球队的策略&#xff0c;找出弱点&#xff0c;相应地调整进攻策略&#xff0c;最重要的是&#xff0c;练习、练习、再练习。作为最低要求&#xff0c;网络安全部门也应该这样做…

基于微信的设备故障报修管理系统设计与实现+ssm论文源码调试讲解

2相关技术 2.1微信小程序 小程序是一种新的开放能力&#xff0c;开发者可以快速地开发一个小程序。小程序可以在微信内被便捷地获取和传播&#xff0c;同时具有出色的使用体验。尤其拥抱微信生态圈&#xff0c;让微信小程序更加的如虎添翼&#xff0c;发展迅猛。 2.2 MYSQL数据…

一文彻底搞懂大模型 - OpenAI o1(最强推理模型)

最近这一两周看到不少互联网公司都已经开始秋招提前批面试了。 不同以往的是&#xff0c;当前职场环境已不再是那个双向奔赴时代了。求职者在变多&#xff0c;HC 在变少&#xff0c;岗位要求还更高了。 最近&#xff0c;我们又陆续整理了很多大厂的面试题&#xff0c;帮助一些…

举例说明:自然语言处理实战项目

自然语言处理&#xff08;Natural Language Processing, NLP&#xff09;是人工智能领域的一个重要分支&#xff0c;旨在使计算机能够理解、解释和生成人类语言。以下是一些NLP实战项目的示例&#xff1a; 1. 情感分析&#xff08;Sentiment Analysis&#xff09; 项目描述: …