1.浅拷贝
简单的赋值拷贝操作
如果利用编译器提供的拷贝构造函数,会做浅拷贝操作
浅拷贝带来的问题就是堆区的内存重复释放
解决办法是深拷贝
// 浅拷贝
Person(const int &p){
m_Age = p.m_Age;
m_Height = p.m_Height // 编译器默认实现的代码,采用的是浅拷贝
}
2.深拷贝
在堆区重新申请空间,进行拷贝操作
Person(const int &p){
m_Age = p.m_Age;
m_Height = new int(*p.m_Height); // 深拷贝操作
}
Original: https://www.cnblogs.com/skipspur163/p/15893465.html
Author: SKIPSPUR_SUPER
Title: 深拷贝与浅拷贝
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/583786/
转载文章受原作者版权保护。转载请注明原作者出处!