深拷贝与浅拷贝
来源:互联网 发布:手机知乎怎么修改答案 编辑:程序博客网 时间:2024/06/08 06:52
浅拷贝就是成员数据之间的一一赋值:把值一一赋给要拷贝的值。但是可能会有这样的情况:对象还包含资源,这里的资源可以是堆资源,或者一个文件。当值拷贝的时候,两个对象就有用共同的资源,同时对资源可以访问,这样就会出问题。深拷贝就是用来解决这样的问题的,它把资源也赋值一次,使对象拥有不同的资源,但资源的内容是一样的。对于堆资源来说,就是在开辟一片堆内存,把原来的内容拷贝。
如果你拷贝的对象中引用了某个外部的内容(比如分配在堆上的数据),那么在拷贝这个对象的时候,让新旧两个对象指向同一个外部的内容,就是浅拷贝;如果在拷贝这个对象的时候为新对象制作了外部对象的独立拷贝,就是深拷贝 。
如果你拷贝的对象中引用了某个外部的内容(比如分配在堆上的数据),那么在拷贝这个对象的时候,让新旧两个对象指向同一个外部的内容,就是浅拷贝;如果在拷贝这个对象的时候为新对象制作了外部对象的独立拷贝,就是深拷贝 。
0 0
- 深拷贝与浅拷贝
- 深拷贝与浅拷贝
- 深拷贝与浅拷贝
- “浅拷贝”与“深拷贝”
- 深拷贝与浅拷贝
- 深拷贝与浅拷贝
- 深拷贝与浅拷贝
- 浅拷贝与深拷贝
- 深拷贝与浅拷贝
- 深拷贝与浅拷贝
- “浅拷贝”与“深拷贝”
- 深拷贝与浅拷贝
- 浅拷贝与深拷贝
- 深拷贝与浅拷贝
- 浅拷贝与深拷贝
- 深拷贝与浅拷贝
- 深拷贝与浅拷贝
- 深拷贝与浅拷贝
- 【OpenCV学习笔记】1.2图像的基本操作
- MFC----定制程序外观
- 闲话Zynq UltraScale+ MPSoC (连载3)——启动加载
- 回家了,英语学习也要抓紧了!
- 1026. Table Tennis (30)
- 深拷贝与浅拷贝
- mysql 学习路线(给新手的建议)
- 如何使用excel画甘特图
- Html定义网页背景色
- Codeforces Educational Codeforces Round 2 B. Queries about less or equal elements
- 027.迭代器 Iterator
- hpuoj 1716: 感恩节KK专场——考试来了 【水题】【校赛】
- Codevs_P2711 数的划分(DP)
- 使用JDBC操作时间的注意点