浅拷贝与深拷贝:
默认的拷贝构造函数能完成对对象的简单赋值,而对象的资源是由指针指向堆的时候, 简单的复制,会让复制过来的指针指向同一块内存 这就是浅拷贝(会出错同一块内存被释放两次)。
深拷贝就是在拷贝构造的时候 使其重新开辟出一块内存去指向新开辟的地方
此时两个都指向不同的空间有单独的数据,不会被改变
浅拷贝:位拷贝,拷贝构造函数,赋值重载
多个对象共用同一块资源,同一块资源释放多次,崩溃或者内存泄漏
深拷贝:每个对象共同拥有自己的资源,必须显式提供拷贝构造函数和赋值运算符。
缺省拷贝构造函数在拷贝过程中是按字节复制的,对于指针型成员变量只复制指针本身
而不复制指针所指向的目标--浅拷贝。