Rob*_*na 1 c++ deep-copy shallow-copy
默认的拷贝构造函数在C++中是执行浅拷贝还是深拷贝?
我真的很困惑cpp中的默认复制构造函数,因为它执行浅拷贝或深拷贝,就像我v2=v1;想的那样v1={1,2,3},现在如果我已经完成v2[0]=1;它没有得到反映但我听说它是浅拷贝,有人可以解释一下吗?
它也没有.它做成员副本.也就是说,它使用副本构造函数复制类的所有成员.如果这些成员具有执行深层复制的复制构造函数,那么您将获得深层复制,如果它们执行浅复制,那么您将获得浅拷贝,或者他们可以完全执行其他操作.
深层复制和浅层复制不是C++概念,而是C++允许您根据需要执行深层或浅层复制.