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

全局函数如何释放内存

这节释放内存怎么写?

正在回答

4 回答

在栈上实例化对象,在程序结束后编译器会自动释放内存;在堆上实例化对象,需手动分配内存,并通过delete 指针名 ; 指针名=NULL;来释放内存,防止内存泄漏

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

用new来实例化对像,用delete来释放内存
    // 实例化枪对象
    Gun *p = new Gun();
    // 调用含参函数hunting,将对象枪传入函数中
    hunting(p);
    // 释放内存
    delete p;
    p =NULL;

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

void hunting(Gun *s)

{

    s->aim();

    s->reload();

}

int main(void)

{

    // 实例化枪对象

    Gun shut1 ;

    // 调用含参函数hunting,将对象枪传入函数中

     hunting(& shut1);

    // 释放内存

 return 0;

}

我不知道这里delete怎么用?

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

潇慕粉

申请的是栈的内存,那么当程序运行结束时候,系统会自动释放内存的! 如果是申请堆的内存,就需要delete手动释放内存
2017-03-14 回复 有任何疑惑可以回复我~

用delete[]

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

举报

0/150
提交
取消
C++远征之多态篇
  • 参与学习       66236    人
  • 解答问题       314    个

本教程将带领大家体会面向对象三大特性中的多态特性

进入课程

全局函数如何释放内存

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