zoukankan      html  css  js  c++  java
  • 深拷贝和浅拷贝

    浅拷贝通常是编译器提供的默认拷贝构造函数和默认赋值构造函数。

    当类中有指针变量的时候,比如把a赋值给b。

    b = a;

    默认的赋值函数会导致b原有的内存没有释放,出现内存泄漏。

    第二个问题是,b和a的指针,指向了同一块内存,不管是改动a,还是改动b,都会影响另一方。

    第三是,当对象析构的时候,指针变量会被释放俩次(指向同一块内存区域)

    在这种情况下,我们需要自己去编写拷贝构造函数和赋值构造函数

    也就是深拷贝,我们为每一个对象都分配自己的内存空间,特别是有指针成员的时候,为指针成员重新申请一块内存空间(堆区)。

    //---补充一个实例----

  • 相关阅读:
    PHP登入
    PHP注册
    PHP数据访问
    php实现人员的权限管理
    PHP实现简单的评论与回复功能还有删除信息
    php文件的管理
    文件的操作
    文件上传及预览
    ajax分页
    三级联动
  • 原文地址:https://www.cnblogs.com/EvansPudding/p/12566403.html
Copyright © 2011-2022 走看看