问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Python中的赋值,浅拷贝和深拷贝的区别

发布网友 发布时间:2022-04-23 05:33

我来回答

1个回答

热心网友 时间:2022-04-06 15:17


浅拷贝会出现什么问题呢?
假如有一个成员变量的指针,char
*m_data;
其一,浅拷贝只是拷贝了指针,使得两个指针指向同一个地址,这样在对象块结束,调用函数析构的时,会造成同一份资源析构2次,即delete同一块内存2次,造成程序崩溃。
其二,浅拷贝使得obj.m_data和obj1.m_data指向同一块内存,任何一方的变动都会影响到另一方。
其三,在释放内存的时候,会造成obj1.m_data原有的内存没有被释放(这句话,刚开始我不太理解,如果没有走自定义的拷贝构造函数,申请内存空间,A
obj1(obj);也不走默认构造函数,走的是默认的拷贝构造函数,何来分配空间直说,更不会造成obj1.m_data原有的内存没有被释放,这里刚开始我一直有疑问),造成内存泄露。
事实是这样的,当delete
obj.m_data,
obj.m_data内存被释放后,由于之前obj.m_data和obj1.m_data指向的是同一个内存空间,obj1.m_data所指的空间不能在被利用了,delete
obj1.m_data也不会成功,一致已经无法操作该空间,所以导致内存泄露。
深拷贝采用了在堆内存中申请新的空间来存储数据,这样每个可以避免指针悬挂。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
医生,游泳篮球相比之下哪一样比较容易长高 打篮球和 游泳 哪个运动比较对长高有帮助? 游泳和篮球哪个长高 我女朋友要去日本小清水工作了,但是她们每个人要说一段日语介绍_百度知 ... 中文翻译成日文!!答得好有追加!! 有谁能帮我用日语写一段新学期的开场白? 大黑山杜鹃坡怎么走 凤凰山-杜鹃坡旅游服务地址在哪里? 无为法有为法 联想a830开发人员选项隐藏内容怎么打开 net中浅拷贝和深拷贝有什么区别,分别如何实现 python的复制,深拷贝和浅拷贝的区别 转:C#之深拷贝和浅拷贝的区别 深拷贝和浅拷贝怎样理解(通俗具体点儿) 淘宝上出售的那些OFFICE 2010 的注册码是怎么得到的?高分!!! 淘宝上买的office2016激活码安全么 淘宝office激活码后缀 淘宝有很多卖office 密匙的,直接可以联网激活,请问他们都是通过什么方式弄来的?知道内幕的说一 淘宝上几块钱的office激活密钥靠谱吗 在淘宝上买office365激活码安全吗 淘宝网上的office密钥能用的住吗 怎么激活office?产品密钥 怎样在淘宝上买Office 2016 激活码? 我在网上买的office2016的密钥怎么用不了??怎么回事 买电脑送的office密钥在哪 淘宝上卖office密钥的人从哪里来的密钥 淘宝上卖的office激活码可信吗 淘宝上几块钱的office激活密钥靠谱吗?? 电脑没有安装微软Office系列软件,只买了个密钥,怎么安装? 淘宝上的office激活码怎么用 C#对象的浅拷贝(浅表复制)和深拷贝(深度复制)是什么意思? 怎么跳过吃鸡人脸识别? 菜鸡软件如何跳过实名认证,直接玩游戏? 如何不让吃鸡写姓名和身份证才进入游戏? 吃鸡如何跳过游戏人脸验证环节? 吃鸡实名认证怎么解除未成年呢? 吃鸡可以不用实民认证 可以加速绝地求生国际服的加速器不用实名 apple watch可以脱离iPhone单独使用吗? 如果捡到一箱金条,怎么处理好 捡到金子回倒霉吗?怎么样化解啊? 黄金吊坠掉了两三个月又捡回来了好不好 捡到黄金是什么预兆? 我在山上捡到很多黄金银子该怎么办。会被关进大牢里面吗? 河里捡到的黄金怎么处理有相关的法律知识? 捡到黄金代表什么运势 捡到黄金首饰运气好不好? 突然捡到一斤黄金,咋处理! 捡到黄金戒指是什么预兆 歪歪里的china和mc是一个工会嘛