浅拷贝、深拷贝、浅赋值、深赋值
来源:互联网 发布:剑网明教捏脸数据 编辑:程序博客网 时间:2024/06/05 14:16
一、浅拷贝
对象初始化对象的时候调动拷贝构造函数,只是拷贝指针指向的拷贝构造称为浅拷贝。
当要析勾的时候对象被一一析勾的时候,第二个析勾的对象就找不到需要释放的空间,程序报错。
由于默认的拷贝构造函数不能完成真实空间的拷贝,所以必须手动编写一个默认的拷贝构造函数。
二、深拷贝
对象初始化对象的时候调动拷贝构造函数,真实开辟空间拷贝数据的拷贝构造称为深拷贝。
三、浅赋值
对象给对象赋值时候调动赋值语句,不会开辟空间,只是简单的指针赋值
四、深赋值
对象给对象赋值时候调动赋值语句,会开辟空间,注意开辟空间是要释放原有空间
赋值语句4步骤:
1.自己给自己是否赋值
2.释放原有空间
3.申请新的空间赋值,拷贝
4.返回自身对象
总结:一般类中有指针成员的数据类型,那么类中的赋值语句和拷贝构造函数就需要重新编写,不能使用默认的函数,杜绝浅拷贝,浅赋值
阅读全文
0 0
- python中的赋值、浅拷贝、深拷贝
- python 赋值、浅拷贝与深拷贝
- 赋值、浅拷贝和深拷贝
- python赋值,浅拷贝及深拷贝
- Python赋值、浅拷贝、深拷贝
- 浅拷贝、深拷贝、浅赋值、深赋值
- ObjectiveC中的赋值,对象拷贝,浅拷贝与深拷贝
- 拷贝构造函数与赋值函数;深拷贝,浅拷贝
- 拷贝构造-赋值构造-深拷贝-浅拷贝
- ObjectiveC中的赋值,对象拷贝,浅拷贝与深拷贝
- 拷贝构造、赋值构造、深拷贝、浅拷贝、位拷贝、值拷贝
- python的赋值、浅拷贝和深拷贝
- Python中赋值、浅拷贝与深拷贝
- python的浅拷贝,深拷贝和赋值
- Python FAQ2:赋值、浅拷贝、深拷贝的区别?
- 赋值运算符的意义 - 浅拷贝与深拷贝
- Python 赋值、浅拷贝、深拷贝的区别?
- 深拷贝与浅拷贝(clone方法与赋值)
- LeetCode Algorithms 32. Longest Valid Parentheses 题解
- kaggle初探——如何在 Kaggle 首战中进入前 10%
- JavaBean中通过自省机制拿到对应的属性和方法,以及BeanUtils工具类中的拷贝属性方法
- POJ 2155 Matrix (二维线段树)
- 将JavaBean用DOM4J转成xml格式的字符串,用DOM4J解析xml格式的字符串
- 浅拷贝、深拷贝、浅赋值、深赋值
- 优秀的营销人都把Marketing变成了挣钱的部门!
- 连接MySql的时候报1130的错误解决办法以及远程登陆方法.
- Could not open JDBC Connection for transaction; nested exc [用户名密码错误异常】
- redis和memcached的区别
- Linux命令随记
- Error Domain=NSCocoaErrorDomain Code=3840 "JSON text did not start with array or object and option t
- 继承模式多态&接口模式多态
- Remove ASMLib on OEL7