参考链接: Python复制(深层复制和浅层复制)

构造函数用来初始化对象的,复制构造函数是把一个已知的对象复制给新的对象,(2者都是对象)。

浅复制构造函数只复制指针(换句话说就是2个对象的地址一样),例如

class A

{

pubic:

A(){x = new int; *x =  8;}

A(const A &a)

{

x = a.x   //浅层复制构造函数

}

~A(){delete x; x = NULL;}

private:

int *x;

}

深复制构造函数定义内new了一个新地址,因此2个对象的地址不一样,析构2个对象的时候不会象浅复制构造函数那样重复析构一个地址了。例如

class A{pubic:  A(){x = new int; *x =  8;}  A(const A &a)  {   x = new int;    //注意区分x,这个x是复制的对象中的指针x   *x = *(a.x)   //浅深层复制构造函数  }  ~A(){delete x; x = NULL;}private:int *x;} 重点是区分概念,和区分x,要不很容易混乱另外补加一个小概念,对于高大上的“级连”,比如说cout语句能实现级连,就是指提取运算符"<<"能连续使用,例如cout<<x<<y<<z;这里的"<<"用了三次

[转载] 深层复制构造函数和浅层复制构造函数区别相关推荐

  1. JAVA浅层复制深层复制理解-java_01_20160824

    在java中,默认是浅层复制的,如果要复制的对象中只含有基本数据类型和String类型, 那么浅层复制和浅层复制是没有区别的,所以你可以放心的使用默认的浅层复制, 但是如果要复制的对象中除了上述类型还 ...

  2. java对象复制_Java对象的深层复制与浅层复制

    TestVO a = new TestVO(); a.setName("xiemingmei"); a.setBirthPlace("Hunan"); Test ...

  3. C#.Net工作笔记007---关于Lst深层复制_浅层复制_提供一个方法可以直接使用

    技术交流QQ群[JAVA,C++,Python,.NET,BigData,AI]:170933152 1.关于深拷贝和浅拷贝 C#支持两种类型:值类型和引用类型 值类型(Value Type):如 c ...

  4. 如何在JavaScript中区分深层副本和浅层副本

    by Lukas Gisder-Dubé 卢卡斯·吉斯杜比(LukasGisder-Dubé) 如何在JavaScript中区分深层副本和浅层副本 (How to differentiate betw ...

  5. SSD浅层网络_目标检测SSD

    一.目标检测之SSD SSD: Single Shot MultiBox Detector 论文链接:https://arxiv.org/abs/1512.02325 论文翻译:https://blo ...

  6. python中复制、浅层拷贝、深层拷贝的区别

    python中复制.浅层拷贝.深层拷贝的区别 一.学习要点: 1.python中的复制与拷贝的区别 2.python中浅层拷贝与深层拷贝的区别 二.代码: import copy a=[1,2,3,4 ...

  7. C++深复制(深拷贝)、浅复制(浅拷贝)和复制构造函数(拷贝构造函数)详解+实例

    转载出处:https://blog.csdn.net/sxhelijian/article/details/23209967 对象的复制 对于普通类型的对象来说,它们之间的复制是很简单的,例如: in ...

  8. java中浅层克隆和深层克隆

    1.浅复制与深复制概念  浅复制(浅克隆)      被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用仍然指向原来的对象.换言之,浅复制仅仅复制所考虑的对象,而不复制它所引用的 ...

  9. 浅层学习与深层学习_深层副本与浅层副本-以及如何在Swift中使用它们

    浅层学习与深层学习 by Payal Gupta 通过Payal Gupta 深层副本与浅层副本-以及如何在Swift中使用它们 (Deep copy vs. shallow copy - and h ...

最新文章

  1. 如何挂载initrd.img文件(简单三步)
  2. JUnit4中使用Hamcrest测试框架的assertThat断言 小实例
  3. 1053 Path of Equal Weight
  4. 中秋水文 | 安利一发国漫
  5. C# 中使用HttpClient读取大型Json数据集
  6. android edittext 不滚动,EditText 设置可以垂直滑动但是不可输入
  7. RTT时钟管理篇——RTT定时器超时判断理解
  8. gps天线拆解图片_飞宇稳定器拆解:握杆的手,不怕颤抖
  9. python学习笔记之lambda表达式
  10. 阿里技术副总裁贾扬清、微软 CTO 韦青重磅出席 AI 开发者大会!
  11. c++11 多线程编程(四)------ 死锁(Dead Lock)
  12. (附源码)PHP疫情上报管理系统 毕业设计 170948
  13. foo, bar, 甲乙丙丁
  14. 米 html像素转换,字体磅、像素、厘米转换
  15. 桌面IE不见的处理方法
  16. python人民币小写转大写_python人民币小写转大写辅助工具
  17. 使用RDO Packstack在CentOS 8上安装版本为Victoria的openstack
  18. 微信小程序识别二维码
  19. 解决APP抓包问题【网络安全】
  20. python英语单词 扇贝英语安卓下载_扇贝单词英语版

热门文章

  1. 我的世界javamod怎么装_耐斯地板 | 木地板的铺装方向,你还不知道?
  2. qoq是什么意思的缩写_有意思,“TTFN”居然是“再见”的缩写词,具体是指什么呢?...
  3. Python入门--变量,浮点型,布尔型,字符串
  4. combing string
  5. 如何才能在jsp文件中使用el表达式
  6. SPFA差分约束(bzoj 2330: [SCOI2011]糖果)
  7. opencv 实现图像高斯金字塔
  8. opencv 显示程序运行时间
  9. matlab2c使用c++实现matlab函数系列教程-cos函数
  10. labelme批量json_to_dataset转换