20240611 浅拷贝深拷贝
浅拷贝
1 | class X |
在这里,pi原始X对象和复制对象的成员都将指向同一个int.
深拷贝
原始的所有成员都被克隆(如有必要,递归)。没有共享对象:
1 | class X |
在这里,pi原始对象和复制X对象的成员将指向不同的int对象,但它们具有相同的值。
一个例子

总结
-
主要就是有指针/会被动态分配内存的地方必须要小心深拷贝和浅拷贝
-
复制构造函数执行什么类型的复制?
它依赖于实现。这意味着没有严格的规则,你可以像深拷贝或浅拷贝一样实现它,但据我所知,在拷贝构造函数中实现深拷贝是一种常见的做法。不过,默认复制构造函数执行浅拷贝。
1 | // 自定义拷贝构造函数(深拷贝) |
留言
評論插件加載失敗
正在加載評論插件