深拷贝和浅拷贝

拷贝函数

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

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

 

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

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

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

posted @ 2020-09-02 14:27  特权E5  阅读(109)  评论(0编辑  收藏  举报