当出现类的等号赋值时,会调⽤拷⻉函数,在未定义显示拷⻉构造函数的情况下, 系统会调⽤
默认的拷⻉函数-即浅拷⻉
,它能够完成成员的⼀⼀复制。当数据成员中没有指针时,浅拷⻉是可⾏的。
但当数据成员中有指针时,如果采⽤简单的浅拷⻉,则两类中的两个指针指向同⼀个地址,当对象快要结束时,会调⽤两次析构函数,⽽导致指野指针的问题。所以,这时必需采⽤深拷⻉。深拷⻉与浅拷⻉之间的区别就在于深拷⻉会在堆内存中另外申请空间来存储数据,从
⽽也就解决来野指针的问题
。简⽽⾔之,当数据成员中有指针时,必需要⽤深拷⻉更加安全。