记录C++学习,不断更新

记录C++学习,不断更新,资料来源mooc魏英老师《C++程序设计》

c++合成复制构造函数都是浅拷贝。每个类至少有一个复制构造函数(与合成默认构造函数不同, 即使定义了其他构造函数, 编译器也会合成复制构造函数。),如果类没有定义复制构造函数,编译器就会自动合成一个, 称为合成复制构造函数(synthesized copy constructor)。 浅复制存在一个问题,就是析构函数运行时,指向的同一块地址(对象)会被撤销两次,这是不允许的,会埋下错误(知道了补上)。记录C++学习,不断更新记录C++学习,不断更新
记录C++学习,不断更新
可以看到深复制是真正开辟了一块空间,而不是仅仅只是把对象地址赋给被赋值对象,str=C.str就是这种情况,只是被赋值了一个地址,是浅复制。
记录C++学习,不断更新