深拷贝之于浅拷贝

由于浅拷贝只是进行简单的复制,包括地址都是原样复制。每个类都有默认拷贝函数,无须定义。

当由于每个类调用构造函数在调用析构函数时释放空间,若在在类中数组只是简单复制,在析构时则会析构两次,造成内存泄漏,因此需要深拷贝解决这一问题。

深拷贝则自行定义拷贝函数,申请为数组开辟新的空间。

形式通常为 Test (const Test &t) ,变量进行复制即可,但数组或对象需要开辟一段新的空间,再对此进行复制。

猜你喜欢

转载自blog.csdn.net/qq_41916395/article/details/81199183