深拷贝与浅拷贝
实验介绍
当自定义一个类时,深拷贝或者浅拷贝就会发生,而值得注意的是需要知道什么时候发生深拷贝,并且要避免由于应该使用深拷贝而使用了浅拷贝而发生错误。
知识点
概念
什么时候会发生深拷贝或者浅拷贝?
答:调用拷贝构造函数时。
- 浅拷贝:将对象
A
中数据成员赋值给对象 B
中数据成员。
- 深拷贝:对象
B
先为数据成员申请对象 A
中数据成员同样大的内存,再将对象 A
中数据成员赋值给对象 B
中数据成员。
何时发生拷贝构造
示例代码 1
当使用原有对象新实例化对象时会调用拷贝构造函数。
#