小学生学C++编程语法知识(C++中的深拷贝与浅拷贝) 发布时间:2026/8/5 8:16:55 C中的深拷贝与浅拷贝——给同学们讲一下“复制魔法”同学们今天我们学习一个非常重要的C知识当我们复制一个对象时到底是复制“外表”还是复制“里面的东西”这就是浅拷贝Shallow Copy深拷贝Deep Copy它们主要和指针动态内存new类对象复制有关。一、先理解什么叫“拷贝”生活中小明有一本《C魔法书》。小红说“我也想要一本一样的。”于是小明复制了一本。这就是复制 拷贝C里面Student a; Student b a;意思把对象a复制给对象b。例如int a 10; int b a;结果a: 10 b: 10两个数字互不影响。如果b 20;那么a: 10 b: 20没有问题。因为int里面保存的是数据本身。二、问题出现指针看一个例子int a 100; int *p a;内存a ┌─────┐ │100 │ └─────┘ ↑ | p指针p保存的是地址不是100。现在int *q p;发生什么100 ┌─────┐ │ │ └─────┘ ↑ ↑ | | p qp和q指向同一个地方。这就是浅拷贝三、什么是浅拷贝一句话只复制地址不复制真正的数据。比如class Student { public: int age; int *score; };创建Student s1; s1.age 10; s1.score new int(100);内存s1 age ┌────┐ │10 │ └────┘ score | ↓ ┌─────┐ │100 │ └─────┘现在Student s2 s1;默认拷贝C会这样s2.age s1.age s2.score s1.score结果s1.score | ↓ ┌─────┐ │100 │ └─────┘ ↑ | s2.score两个指针指向同一个100。四、浅拷贝有什么问题看代码#includeiostream using namespace std; class Student { public: int *score; Student() { score new int(100); } ~Student() { delete score; } }; int main() { Student a; Student b a; }发生什么创建aa.score | ↓ 100复制ba.score | ↓ 100 ↑ | b.score程序结束先销毁bdelete score;100被释放。然后销毁a再次delete score;可是这个内存已经没有了这叫重复释放可能导致程序崩溃内存错误五、什么是深拷贝深拷贝一句话不仅复制地址而是重新复制一份数据。还是刚才例子a:a.score | ↓ 100复制Student ba;深拷贝以后a.score | ↓ ┌─────┐ │100 │ └─────┘ b.score | ↓ ┌─────┐ │100 │ └─────┘注意两个100是两块不同的内存。六、如何实现深拷贝需要自己写拷贝构造函数格式类名(const 类名 对象) { }例如#includeiostream using namespace std; class Student { public: int *score; Student() { score new int(100); } //拷贝构造函数 Student(const Student s) { score new int(*s.score); } ~Student() { delete score; } }; int main() { Student a; Student ba; }关键score new int(*s.score);拆开第一步取出原来的值*s.score得到100第二步重新申请空间new int(100)得到新的100所以两个对象互不影响。七、浅拷贝 vs 深拷贝比较浅拷贝深拷贝复制什么地址数据速度快慢是否申请新空间否是两个对象是否共享数据是否容易出错吗容易安全需要自己写吗默认提供通常自己写八、生活中的比喻浅拷贝小明有一个遥控汽车。小红复制拿了一张纸写遥控汽车的位置小明家这不是复制汽车。只是复制地址。深拷贝小红重新买了一辆一模一样的汽车。现在小明玩自己的。小红玩自己的。互不影响。九、什么时候需要深拷贝主要情况类里面有指针例如class Array { int *data; };或者动态数组int *arrnew int[100];或者字符串char *name;都需要考虑深拷贝。十、C中的“三件套”如果一个类管理动态内存通常需要1. 构造函数申请空间new2. 拷贝构造函数负责深拷贝3. 析构函数释放空间delete这三个叫Rule of Three三法则十一、给同学们的记忆口诀普通变量直接复制。 指针变量要看地址。 复制地址是浅拷贝。 复制数据是深拷贝。 new出来的东西 一定要小心释放。十二、信奥竞赛中的理解在GESP、CSP-J阶段通常intdoublecharstringvector已经帮我们处理好了。例如vectorint a; vectorint ba;这里不是简单复制地址。vector内部已经实现了深拷贝。所以b[0]100;不会影响a[0]但是学习链表二叉树动态数组智能指针时深浅拷贝就是必须掌握的核心知识。一句话总结浅拷贝复制“钥匙”地址深拷贝复制“房子”数据。指针越多越要小心浅拷贝。 相关新闻 基于YOLO+DeepSeek的疲劳驾驶检测系统 YOLO+DeepSeek+疲劳驾驶检测系统 Pytorch+SpringBoot+Flask+Vue YOLO+DeepSeek+疲劳驾驶检测系统PytorchSpringBootFlaskVue 配置好环境可直接使用,也可以自己加数据集训练,运行效果见图像及视频。 共4类标签[“睁眼”,“闭眼”,“打哈欠”,“未打哈欠”]系统亮点: 多场景检测&#… 2026/8/5 8:16:55 商标设计注册成功率从设计阶段就开始提高吗? 商标设计注册成功率能从设计阶段就开始提高吗?答案是肯定的。很多创业者直到被驳回才明白:商标注册的成功率,在设计阶段就已注定。 那些绕开雷区的品牌不是运气好,而是把功课做在了前面。本文拆解4个设计阶段的关键策略࿰… 2026/8/5 8:16:55 自偏置Class C放大器设计:从原理到实践的高效射频功放实现 1. 从“偏置”说起:为什么Class C放大器需要“自给自足”?在射频(RF)和功率放大器(Power Amplifier)的世界里,Class C放大器一直是个独特的存在。它不像Class A那样追求极致的线性度,… 2026/8/5 8:11:55 最新新闻 TCP协议深度解析:从三次握手到流量控制的实战抓包分析 1. 从“黑盒”到“白盒”:为什么我们需要亲手拆解TCP包如果你刚开始接触网络技术,或者已经写了不少基于TCP的应用,但总觉得对它的理解隔着一层纱,那你来对地方了。我们每天都在用TCP,从刷网页、看视频到远程登录服务器… 2026/8/5 9:46:58 计算机三级数据库技术备考:从SQL优化到事务管理的实战指南 1. 备考定位与核心价值:为什么是数据库技术?如果你正在准备计算机三级等级考试,并且选择了“数据库技术”这个方向,那么恭喜你,选对了一条既实用又硬核的路径。很多人一听到“等级考试”,第一反应可能是“背… 2026/8/5 9:46:58 macOS Xbox控制器兼容性深度优化与实战配置指南 macOS Xbox控制器兼容性深度优化与实战配置指南 【免费下载链接】360Controller TattieBogle Xbox 360 Driver (with improvements) 项目地址: https://gitcode.com/gh_mirrors/36/360Controller 在macOS平台上实现Xbox系列控制器的完美兼容一直是游戏玩家和技术开发者面… 2026/8/5 9:46:58 SMUDebugTool终极指南:5步快速解决AMD Ryzen系统调试难题 SMUDebugTool终极指南:5步快速解决AMD Ryzen系统调试难题 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https:/… 2026/8/5 9:46:58 基于Three.js构建交互式3D数字盲盒展示系统:从概念到实现 最近在逛技术社区时,发现一个很有意思的现象:很多开发者,尤其是前端和创意技术方向的,开始把“盲盒”这种潮玩概念和技术项目展示结合起来。这不仅仅是营销噱头,背后其实反映了一个趋势——如何将静态的、说明书式的项… 2026/8/5 9:46:58 拓氪科技如何用AI重构企业出海营销、实现全域长效增长? 随着全球化进程持续深化与跨境产业高速扩容,海外市场竞争正式迈入精细化、专业化的深水区。当下,突破本土增长瓶颈、布局全球市场,已然成为中国企业高质量发展的核心战略方向。但企业出海之路依旧阻碍重重,跨文化认知差异、区域合… 2026/8/5 9:41:58 日新闻 鸿蒙6.1 arkui.componentSnapshot组件截图坑:返回PixelMap不是dataURL 本文是「鸿蒙 6.1 API 23 开发坑系列」第 2 篇(ArkUI 桶第 2 篇)。本篇讲 ohos.arkui.componentSnapshot namespace(API 10,鸿蒙 6.1 API 23 基座)——组件截图三个方法 get/getSync/createFromBuilder。鸿蒙坑根因&am… 2026/8/5 0:26:31 20个P0级大模型本体概念,产品经理必看,收藏这份学习资料! 文章介绍了20个大模型本体概念,帮助产品经理在AI产品决策时,不再依赖模糊判断,而是基于精准认知。内容涵盖了模型分类、开源与闭源模型、本地与云端部署、基础模型与对话模型、推理模型、Token、上下文窗口、幻觉、温度参数、系统提示词、思维… 2026/8/5 0:26:31 支付宝体验技术部拆分!前端转型Agent全栈,小白程序员必收藏 支付宝体验技术部拆分,前端工程师转型Agent开发全栈。玉伯等专家主导的团队,曾开发Ant Design、AntV等知名开源项目,影响行业。AI技术推动智能Agent兴起,打破前端边界,需掌握大模型、智能体逻辑等能力。组织调整旨在灵… 2026/8/5 0:26:31 周新闻 ncmdumpGUI:一键解锁网易云音乐ncm文件的终极解决方案 ncmdumpGUI:一键解锁网易云音乐ncm文件的终极解决方案 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换,Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 你是否曾经从网易云音乐下载了心爱的歌曲&am… 2026/8/5 5:03:56 分布式配置中心选型实战:Nacos与Consul在创业场景下的对比 分布式配置中心选型实战:Nacos与Consul在创业场景下的对比工程导读:本文深入讨论 分布式配置中心选型实战:Nacos与Consul在创业场景下的对比 在生产工程实践中的核心落地方案。基于 分布式架构与微服务设计 视角,剖析实际痛点、架… 2026/8/5 7:15:00 MoneyPrinterPlus实战指南:AI视频批量生成与自动化发布完整解决方案 MoneyPrinterPlus实战指南:AI视频批量生成与自动化发布完整解决方案 【免费下载链接】MoneyPrinterPlus AI一键批量生成各类短视频,自动批量混剪短视频,自动把视频发布到抖音,快手,小红书,视频号上,赚钱从来没有这么容易过! 支持本地语音模型chatTTS,fasterwhisper,… 2026/8/5 6:23:51 月新闻 【YOLOv11模型改进系列】08 数据增强的终极形态:用AutoAugment让YOLOv11自己学会“什么数据最有用” 08 数据增强的终极形态:用AutoAugment让YOLOv11自己学会“什么数据最有用” 老伙计,咖啡准备好了吗?上篇我们聊了Mosaic+MixUp的“混乱美学”,你肯定已经体会到,手动调数据增强策略就像给模型当保姆——每换一个数据集就要重新试一遍参数。 上周有个做工业质检的朋友找我… 2026/8/5 7:15:27 AI 智能电动窗帘电机高集成、低功耗 MOSFET 精准选型方案 随着 AIoT 与智能家居深度融合,智能电动窗帘电机对功率 MOSFET 提出新要求:微型化、高效率、逻辑电平驱动及静音运行。微碧半导体(VBsemi)基于先进的 Trench 和 SGT 工艺,为您提供覆盖 H桥驱动、电源管理及电机控制的完… 2026/8/4 8:25:47 AI 智能电动窗帘电机智能功率 MOSFET 完整选型方案 随着 AI 技术在智能家居中的普及(如语音控制、光线感应、场景联动),电动窗帘电机对功率 MOSFET 提出更高要求:高效率、低噪音、高集成度。微碧半导体(VBsemi)基于 SGT 及 Trench 工艺,为您提供覆… 2026/8/5 4:50:19
基于YOLO+DeepSeek的疲劳驾驶检测系统 YOLO+DeepSeek+疲劳驾驶检测系统 Pytorch+SpringBoot+Flask+Vue YOLO+DeepSeek+疲劳驾驶检测系统PytorchSpringBootFlaskVue 配置好环境可直接使用,也可以自己加数据集训练,运行效果见图像及视频。 共4类标签[“睁眼”,“闭眼”,“打哈欠”,“未打哈欠”]系统亮点: 多场景检测&#… 2026/8/5 8:16:55
商标设计注册成功率从设计阶段就开始提高吗? 商标设计注册成功率能从设计阶段就开始提高吗?答案是肯定的。很多创业者直到被驳回才明白:商标注册的成功率,在设计阶段就已注定。 那些绕开雷区的品牌不是运气好,而是把功课做在了前面。本文拆解4个设计阶段的关键策略࿰… 2026/8/5 8:16:55
自偏置Class C放大器设计:从原理到实践的高效射频功放实现 1. 从“偏置”说起:为什么Class C放大器需要“自给自足”?在射频(RF)和功率放大器(Power Amplifier)的世界里,Class C放大器一直是个独特的存在。它不像Class A那样追求极致的线性度,… 2026/8/5 8:11:55
TCP协议深度解析:从三次握手到流量控制的实战抓包分析 1. 从“黑盒”到“白盒”:为什么我们需要亲手拆解TCP包如果你刚开始接触网络技术,或者已经写了不少基于TCP的应用,但总觉得对它的理解隔着一层纱,那你来对地方了。我们每天都在用TCP,从刷网页、看视频到远程登录服务器… 2026/8/5 9:46:58
计算机三级数据库技术备考:从SQL优化到事务管理的实战指南 1. 备考定位与核心价值:为什么是数据库技术?如果你正在准备计算机三级等级考试,并且选择了“数据库技术”这个方向,那么恭喜你,选对了一条既实用又硬核的路径。很多人一听到“等级考试”,第一反应可能是“背… 2026/8/5 9:46:58
macOS Xbox控制器兼容性深度优化与实战配置指南 macOS Xbox控制器兼容性深度优化与实战配置指南 【免费下载链接】360Controller TattieBogle Xbox 360 Driver (with improvements) 项目地址: https://gitcode.com/gh_mirrors/36/360Controller 在macOS平台上实现Xbox系列控制器的完美兼容一直是游戏玩家和技术开发者面… 2026/8/5 9:46:58
SMUDebugTool终极指南:5步快速解决AMD Ryzen系统调试难题 SMUDebugTool终极指南:5步快速解决AMD Ryzen系统调试难题 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https:/… 2026/8/5 9:46:58
基于Three.js构建交互式3D数字盲盒展示系统:从概念到实现 最近在逛技术社区时,发现一个很有意思的现象:很多开发者,尤其是前端和创意技术方向的,开始把“盲盒”这种潮玩概念和技术项目展示结合起来。这不仅仅是营销噱头,背后其实反映了一个趋势——如何将静态的、说明书式的项… 2026/8/5 9:46:58
拓氪科技如何用AI重构企业出海营销、实现全域长效增长? 随着全球化进程持续深化与跨境产业高速扩容,海外市场竞争正式迈入精细化、专业化的深水区。当下,突破本土增长瓶颈、布局全球市场,已然成为中国企业高质量发展的核心战略方向。但企业出海之路依旧阻碍重重,跨文化认知差异、区域合… 2026/8/5 9:41:58
鸿蒙6.1 arkui.componentSnapshot组件截图坑:返回PixelMap不是dataURL 本文是「鸿蒙 6.1 API 23 开发坑系列」第 2 篇(ArkUI 桶第 2 篇)。本篇讲 ohos.arkui.componentSnapshot namespace(API 10,鸿蒙 6.1 API 23 基座)——组件截图三个方法 get/getSync/createFromBuilder。鸿蒙坑根因&am… 2026/8/5 0:26:31
20个P0级大模型本体概念,产品经理必看,收藏这份学习资料! 文章介绍了20个大模型本体概念,帮助产品经理在AI产品决策时,不再依赖模糊判断,而是基于精准认知。内容涵盖了模型分类、开源与闭源模型、本地与云端部署、基础模型与对话模型、推理模型、Token、上下文窗口、幻觉、温度参数、系统提示词、思维… 2026/8/5 0:26:31
支付宝体验技术部拆分!前端转型Agent全栈,小白程序员必收藏 支付宝体验技术部拆分,前端工程师转型Agent开发全栈。玉伯等专家主导的团队,曾开发Ant Design、AntV等知名开源项目,影响行业。AI技术推动智能Agent兴起,打破前端边界,需掌握大模型、智能体逻辑等能力。组织调整旨在灵… 2026/8/5 0:26:31
ncmdumpGUI:一键解锁网易云音乐ncm文件的终极解决方案 ncmdumpGUI:一键解锁网易云音乐ncm文件的终极解决方案 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换,Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 你是否曾经从网易云音乐下载了心爱的歌曲&am… 2026/8/5 5:03:56
分布式配置中心选型实战:Nacos与Consul在创业场景下的对比 分布式配置中心选型实战:Nacos与Consul在创业场景下的对比工程导读:本文深入讨论 分布式配置中心选型实战:Nacos与Consul在创业场景下的对比 在生产工程实践中的核心落地方案。基于 分布式架构与微服务设计 视角,剖析实际痛点、架… 2026/8/5 7:15:00
MoneyPrinterPlus实战指南:AI视频批量生成与自动化发布完整解决方案 MoneyPrinterPlus实战指南:AI视频批量生成与自动化发布完整解决方案 【免费下载链接】MoneyPrinterPlus AI一键批量生成各类短视频,自动批量混剪短视频,自动把视频发布到抖音,快手,小红书,视频号上,赚钱从来没有这么容易过! 支持本地语音模型chatTTS,fasterwhisper,… 2026/8/5 6:23:51
【YOLOv11模型改进系列】08 数据增强的终极形态:用AutoAugment让YOLOv11自己学会“什么数据最有用” 08 数据增强的终极形态:用AutoAugment让YOLOv11自己学会“什么数据最有用” 老伙计,咖啡准备好了吗?上篇我们聊了Mosaic+MixUp的“混乱美学”,你肯定已经体会到,手动调数据增强策略就像给模型当保姆——每换一个数据集就要重新试一遍参数。 上周有个做工业质检的朋友找我… 2026/8/5 7:15:27
AI 智能电动窗帘电机高集成、低功耗 MOSFET 精准选型方案 随着 AIoT 与智能家居深度融合,智能电动窗帘电机对功率 MOSFET 提出新要求:微型化、高效率、逻辑电平驱动及静音运行。微碧半导体(VBsemi)基于先进的 Trench 和 SGT 工艺,为您提供覆盖 H桥驱动、电源管理及电机控制的完… 2026/8/4 8:25:47
AI 智能电动窗帘电机智能功率 MOSFET 完整选型方案 随着 AI 技术在智能家居中的普及(如语音控制、光线感应、场景联动),电动窗帘电机对功率 MOSFET 提出更高要求:高效率、低噪音、高集成度。微碧半导体(VBsemi)基于 SGT 及 Trench 工艺,为您提供覆… 2026/8/5 4:50:19