深层复制与浅层复制
2015-09-27 11:10
253 查看
复制对象时需要复制构造函数
默认的复制构造函数实现的是对象的数据成员之间一一对应的这种复制,这种复制被称为浅层复制。
浅层复制:实现对象间数据元素的一一对应复制。
使用默认拷贝构造函数复制对象时,实际上是将新建立的对象的指针指向被复制的对象指向的内存单元,即两个对象指向同一块内存单元。
深层复制:(可使用复制构造函数进行深层复制)
当被复制的对象数据成员是指针类型时,不是复制该指针成员本身,而是将指针所指对象进行复制。
相对于浅层复制,深层复制则是开辟新的内存空间。
默认的复制构造函数实现的是对象的数据成员之间一一对应的这种复制,这种复制被称为浅层复制。
浅层复制:实现对象间数据元素的一一对应复制。
使用默认拷贝构造函数复制对象时,实际上是将新建立的对象的指针指向被复制的对象指向的内存单元,即两个对象指向同一块内存单元。
深层复制:(可使用复制构造函数进行深层复制)
当被复制的对象数据成员是指针类型时,不是复制该指针成员本身,而是将指针所指对象进行复制。
相对于浅层复制,深层复制则是开辟新的内存空间。
相关文章推荐
- Java核心技术第3章(4)
- 用反射封装HttpHandler,实现通过action方法名调用方法
- 更改nginx网站根目录
- 链表常用函数
- LAMP+DNS+nfs+Samba实现discuz论坛
- VIM+Ctags Linux源码阅读神器
- PPT制作教程:如何制作ppt
- HDU 5476 Explore Track of Point(平面几何)
- 软件测试的认识
- Android项目包装apk和apk反编译,xml反编译
- 查找
- 【树链剖分】【最大生成树】[NOIP2013]codevs3287 货车运输
- opencv2-3生成标定用的方格图
- JavaWeb显示器
- CSS字体属性全解析
- 第二章 SSH远程登录
- "_stringprep", referenced from:+[LibIDN prepNode:] in LibIDN.o
- aspnet生成matlab图在web上显示
- Java泛型? extends E 和 ? super E
- static使用