深拷贝和浅拷贝

拷贝函数

这种将对象所持有的其它资源一并拷贝的行为叫做深拷贝,我们必须显式地定义拷贝构造函数才能达到深拷贝的目的。将原有对象的所有成员变量拷贝给新对象,还会为新对象再分配一块内存,并将原有对象所持有的内存也拷贝过来。这样做的结果是,原有对象和新对象所持有的动态内存是相互独立的,更改一个对象的数据不会影响另外一个对象

个人理解:相当于复制数据 有两份数据

浅拷贝:将拷贝的老地址赋给新地址,使新数据和老数据同时指向同一个位置,危险当新地址发生数据改变时老数据的值也会发生改变。

个人理解:相当于连接,指向同一位置

拷贝是在初始化阶段进行的,也就是用其它对象的数据来初始化新对象的内存。

学如逆水行舟,不进则退。 博客园技术交流群 群 号:1073255314 (本群没人,刚刚建立 -_-!!! )
原文地址:https://www.cnblogs.com/Mj-NaijAm/p/13601527.html