一、浅拷贝原理
我们使用类中默认的拷贝构造函数为浅拷贝构造函数。它的原理:
既然是复制,就会产生一个问题——str1中开辟的地址也给了str2。
此时,str1和str2共用一个地址。
这就会导致:调用str1的析构函数会将地址1释放,等程序运行str2的虚构函数的时候,会再一次释放地址1,造成一个地址多次释放,系统会报错。
二、深拷贝原理
通过一,我们得知:在类中有需要释放空间的成员函数时,不能使用浅拷贝(默认拷贝),需要使用深拷贝。
深拷贝原理:
这种拷贝方式让地址1和地址2相互独立,互不干扰。
此时进行两个地址的释放就不会报错。