1.在使用一个对象对另一个对象初始化或赋值时,若对象包含指针成员变量,则需要手动的编写拷贝构造函数实现深拷贝,调用编译器的内部默认的拷贝构造函数则只能实现浅拷贝操作。通过蓝色操作:在拷贝指针的同时为指针重新分配内存空间。
c++的深拷贝和浅拷贝
2.通过深拷贝(显示重载=操作符,或显示定义拷贝构造函数)解决浅拷贝出现的问题
c++的深拷贝和浅拷贝
c++的深拷贝和浅拷贝
3.使用默认的拷贝构造函数时:
析构的时候,内部Name中有指针,那么obj1和obj2中的m_p指针会指向同一个地址(即abcdefg对象),释放两次,出现core dump
应该通过深拷贝(重载=,或显式定义拷贝构造函数)来解决浅拷贝出现的问题

转载自:
https://www.cnblogs.com/jefy/p/9401050.html

相关文章:

  • 2021-07-16
  • 2021-08-15
  • 2022-12-23
  • 2021-08-07
  • 2021-08-05
  • 2022-12-23
猜你喜欢
  • 2021-11-06
  • 2021-07-22
  • 2021-07-29
  • 2021-12-09
  • 2021-12-27
  • 2021-07-14
  • 2022-12-23
相关资源
相似解决方案