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

有的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++远征之封装篇(下)
  • 参与学习       70919    人
  • 解答问题       514    个

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

进入课程

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信