由于浅拷贝只是进行简单的复制,包括地址都是原样复制。每个类都有默认拷贝函数,无须定义。
当由于每个类调用构造函数在调用析构函数时释放空间,若在在类中数组只是简单复制,在析构时则会析构两次,造成内存泄漏,因此需要深拷贝解决这一问题。
深拷贝则自行定义拷贝函数,申请为数组开辟新的空间。
形式通常为 Test (const Test &t) ,变量进行复制即可,但数组或对象需要开辟一段新的空间,再对此进行复制。
由于浅拷贝只是进行简单的复制,包括地址都是原样复制。每个类都有默认拷贝函数,无须定义。
当由于每个类调用构造函数在调用析构函数时释放空间,若在在类中数组只是简单复制,在析构时则会析构两次,造成内存泄漏,因此需要深拷贝解决这一问题。
深拷贝则自行定义拷贝函数,申请为数组开辟新的空间。
形式通常为 Test (const Test &t) ,变量进行复制即可,但数组或对象需要开辟一段新的空间,再对此进行复制。