浅复制和深复制

浅复制是由默认构造函数实现的,将对应数据成员一一复制。

浅复制

template<class T>
Array<T>::Array(const Array<T>&a)
{size=a.size;a.list = list;
}

如果主函数中有这样的语句:

int main()
{Array<int> a(10);Array<int> b(a);}

则浅层效果

可以看出浅层复制只是将对象a中数组元素的首地址赋值给了对象b的指针成员,数组元素并没有真的被复制,对象b根本没有构造自己的数组。结果会造成对象a和对象b共使用一段内存空间存放使用数组元素,这样不仅会造成混乱,更严重的是执行析构函数时会发生严重的错误。

本例中的析构函数:
 

template<class T>
Array<T>::~Array()
{delete []list;
}

 在程序结束时,会自动调用两次析构函数,分别释放对象b和对象a的数组空间。但是a和b使用的是同一段内存,这样会导致对同一内存空间释放两次,引起运行错误、

所以正确的复制方法:

template<class T>
Array<T>::Array(const Array<T>&a)
{//从对象x取得数组大小,并赋值给当前对象的成员size=a.size;//为对象申请内存并进行内存出错检查list=new T[size];//动态分配n个T类型的元素空间//从对象X复制数组元素到本对象for(int i = 0;i<size;i++){list[i]=a.list[i];}}

进行深层复制后,效果如图

这才是复制的本意,是我们真正要达到的目的。 

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

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

相关文章

admin select 2 异步_解决Angularjs异步操作后台请求用$q.all排列先后顺序问题

最近我在做angularjs程序时遇到了一个问题1.页面有很多选择框&#xff0c;一个选择框里面有众多的选择项&#xff0c;和一个默认选定的项,像下面这样(很多选择框&#xff0c;不只一个)&#xff1a;2.众多的选项要从后台接口得到&#xff0c;默认项从另一个后台接口得到&#xf…

产业|世界十大工业自动化公司,你知道几家?

来源&#xff1a;机械前线国内工业自动化行业的竞争激烈&#xff0c;国外工业自动化设备、产品制造商依然控制国内上游产品供应的主要市场&#xff0c;下面来看看国外最赚钱的工业自动化公司有哪些。▶1、德国西门子西门子股份公司(SIEMENSAGFWB:SIE&#xff0c;NYSE:SI)是全球…

12月25晚-12月29日做的两个网页

1 <!doctype html>2 <html>3 <head>4 <meta charset"utf-8">5 <title>仿山东理工大学</title>6 <link rel"stylesheet" href"css/wangye.css">7 <link href"img/favicon.ico" r…

2运行内存多大_智能设备中的内存与容量为何傻傻分不清?它们的区别是什么?...

在日常生活中&#xff0c;很多时候会把某些电子产品的容量说成内存&#xff0c;或者把内存说成了容量。比如有人问&#xff1a;“这个手机的内存多大&#xff1f;”或许会有这样回答的&#xff1a;“内存是256G。”这种问答方式虽然看似很普通&#xff0c;如果让业内人士以及了…

Nature突破:首个比头发丝还细的机器人诞生了!可用针头注射入人体

来源&#xff1a;科研大匠1959年&#xff0c;诺贝尔奖得主、理论物理学家Richard Feynman 首次提出微型医用机器人的概念。此后&#xff0c;将电子器件微型化以生产细胞大小的机器人一直是科学家们追求的目标&#xff0c;但由于缺乏合适的微米级致动器系统&#xff0c;该技术一…

腾讯云云机安装dockers

云机的配置 首先更新一下源&#xff08;更新前一直装不了&#xff09;下载dockers-ce&#xff08;社区版&#xff09;启动dockers服务使用hello-world进行测试&#xff08;由于本地没有hello-world这个镜像&#xff0c;所以dockers会下载下来并且在容器里运行&#xff09;转载于…

移动短信回执怎么开通_才知道移动积分需要主动开通功能,才会消费产生积分,垃圾!!!...

几天前朋友突然跟我说用移动积分兑换了流量&#xff0c;于是我很好奇就打开移动APP想查询下自己有多少积分&#xff0c;毕竟几年了从来没想到过积分兑换。有趣的事情发生了&#xff0c;我发现自己的积分显示是0&#xff0c;这怎么可能呢。用了好几年的号码怎么可能没有积分。当…

AIoT成功的关键要素

来源&#xff1a;中国工业和信息化本文发表于《中国工业和信息化》杂志2020年8月刊总第26期随着科技的不断发展&#xff0c;一些在功能上具有相互补充作用的技术正在不可避免地发生结合——例如&#xff0c;人工智能&#xff08;AI&#xff09;和物联网&#xff08;IoT&#xf…

中富之命能有多少钱_邯郸白铁风管工每天工资多少钱?白铁风管价格多少钱你能接受?...

邯郸白铁风管工每天工资多少钱&#xff1f;白铁风管价格多少钱你能接受&#xff1f;身为买家&#xff0c;认为白铁风管价格越低越好&#xff0c;身为厂家&#xff0c;希望在市场价格合理的情况下获得更高的利润。白铁风管工人一天的工资也是一样。以下小编就来说一下白铁风管的…

人工智能的尽头是人工?

来源&#xff1a;CAA混合智能专委会上个月出门&#xff0c;发现十字路口的交警和辅警人数明显增加了。我不禁有些诧异&#xff0c;近十年来&#xff0c;人工智能最成功和最有效的落地成果不就是安防和交通相关应用吗&#xff0c;而十字路口往往都是视频监控最密集的地方&#x…

3种团队分组适应项目_业务团队怎样做目标管理?更能激励员工?(附实操方法)...

导语&#xff1a;目标管理是业务团队的核心&#xff0c;好的目标管理激励员工&#xff0c;差的目标管理形同虚设&#xff01;很多公司有这样的现象&#xff1a;每次给业务团队订目标的时候&#xff0c;总是需要经过一番讨价还价之后&#xff0c;才能最终确定&#xff0c;然而结…

AI处理器热潮正在消退

来源&#xff1a;technews(台) 作者&#xff1a;痴汉水球俗语说得好&#xff1a;海水退潮之后&#xff0c;才知道谁没穿裤子。但历史的教训往往证明残酷的事实&#xff1a;结果站在浪里的所有人&#xff0c;全部都没有穿裤子。处理器业界的年度盛事第32届IEEE HotChips&#x…

gtj2018如何生成工程量报表_土建软件GTJ2018中的十个问题及解决方法

问题1柱汇总计算报错提示&#xff1a;直筋长度的计算结果小于0&#xff1f;方法一&#xff1a;调整为【纵筋销固】就可以计算出来钢筋量。但是设置插筋和纵筋锚固计算出来是有量差的&#xff0c;可以在编辑钢筋中把手算的长度手动添加下或者是在单构件输入界面去手动添加下。方…

重磅|我国科学家成功研制全球神经元规模最大的类脑计算机

来源&#xff1a;浙江大学9月1日&#xff0c;亿级神经元类脑计算机重大成果新闻发布会在杭州召开。浙江大学校长吴朝晖院士出席并讲话。他表示&#xff0c;人工智能浪潮正加快智能增强时代的到来&#xff0c;类脑计算机将成为未来计算的主要形态和重要平台&#xff0c;将在模拟…

java 毫秒转分钟和秒_PDF如何转换CAD文件?教你一分钟批量转上百文件方法,看完秒懂!...

如今科技这么发达&#xff0c;很多人在工作中都会遇到形形色色的各类文件。而同时也因为工作需求碰到文件格式转换难题&#xff0c;如&#xff1a;PDF如何快速转换成CAD文件&#xff1f;今天小编就教大家一个方法&#xff0c;让你轻松一秒完成百个PDF文件转CAD。具体操作方法&a…

数据库设计-规范化规则

SQL反模式一书在附录章节给出了设计关系数据库的规范化规则&#xff0c;一个简明的规范化规则清单。 关系是什么 在规范化之前&#xff0c;我们先要理解下关系。 数学中关系定义&#xff1a;两个不同数据域上的值的集合&#xff0c;通过一个条件得到的一个所有可能组合的子集。…

AI 如果 “智力爆炸” ,只有普通智力的人类是蝼蚁还是宠物?

编译&#xff5c;吴婷婷编审&#xff5c;王新凯出品&#xff5c;学术头条想象一下&#xff0c;当你推倒多米诺骨牌时&#xff0c;第一张牌倒下&#xff0c;而后每一块牌迅速产生反应&#xff0c;直至最后一块牌。实际上&#xff0c;这种连锁反应不局限于物理界&#xff0c;而是…

Java容器---Set: HashSet TreeSet LinkedHashSet

1.Set接口概述 Set 不保存重复的元素&#xff08;如何判断元素相同呢&#xff1f;&#xff09;。如果你试图将相同对象的多个实例添加到Set中&#xff0c;那么它就会阻止这种重复现象。 Set中最常被使用的是测试归属性&#xff0c;你可以很容易地询问某个对象是否在某个Set中。…

马斯克脑机接口遭质疑:不是新技术,没体现神经解码进展

来源&#xff1a;AI前线作者 | 李冬梅马斯克的脑机接口实验&#xff0c;一经发布&#xff0c;就引来了诸多关注&#xff0c;业内专家们对此实验的评价却褒贬不一。北京时间 8 月 29 日&#xff0c;Neuralink 公司发布的神秘技术终于揭开了它的面纱&#xff0c;在视频直播中&am…

坯子库和suapp哪个好用_「双全科技」进销存软件哪个简单好用,管家婆进销存软件教程...

进销存软件哪个简单好用&#xff0c;管家婆进销存软件教程随着国家信息化的发展越来越趋于成熟&#xff0c;越来越多的企业需要进销存软件来提高工作效率&#xff0c;企业家们不再采用传统的库存管理模式&#xff0c;进销存管理系统解决了企业日常经营中一系列库存问题&#xf…