为了账号安全,请及时绑定邮箱和手机立即绑定

有的delete p 和p=null 写在mian 里,有的写在析构函数里。怎么理解啥区分

有的delete p 和p=null 写在mian 里,有的写在析构函数里。怎么理解啥区分


正在回答

1 回答

写在main里面的是当前使用的对象的指针。

写在析构函数的都是是指对象中的成员对象指针。

所以在哪里使用对应的则在哪里进行资源回收。

例如:


class Student{

public:

    ~Student(){

    //如果调用了析构函数,说明对象将要被回收,同时回收成员对象,防止内存溢出

        delete stu1;

        stu1= NULL;

    }

private:

    Student *stu1;

}


 int main(){

   Student *stu = new Student;
   //释放内存
   delete stu;
   stu = NULL:

    return 0;

}

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C++远征之封装篇(下)
  • 参与学习       70898    人
  • 解答问题       534    个

封装--面向对象三大特征之一,通过案例让C++所学知识融会贯通

进入课程

有的delete p 和p=null 写在mian 里,有的写在析构函数里。怎么理解啥区分

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号