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

请问在C++中的new和delete怎么用?还有heap的含义?

请问在C++中的new和delete怎么用?还有heap的含义?

慕田峪7331174 2021-12-15 19:11:50
请详细讲一下,以及使用它们的好处
查看完整描述

2 回答

?
守着一只汪

TA贡献1872条经验 获得超4个赞

主要是要动态申请空间时,才会用new
而用了new,为了使用那个空间,就必须用一个指针指向它,如
int * a=new int(10) ;
用完删掉,如
delete a;

为了让指针指向他,就必须使用 指针名=new 对象名
new 是在堆中开辟内存空, delete 是释放内存空间

new 是在堆中开辟内存空间,类似C语言中的malloc函数
delete 是释放内存空间,类似C语言中的free函数

查看完整回答
反对 回复 2021-12-19
?
倚天杖

TA贡献1828条经验 获得超3个赞

当编译一个C++程序时,计算机的内存被分成了4个区域,一个包括程序的代码,一个包括所有的全局变量,一个是堆栈,还有一个是堆(heap),我们称堆是自由的内存区域,我们可以通过new和delete把对象放在这个区域。你可以在任何地方分配和释放自由存储区。但是要注意因为分配在堆中的对象没有作用域的限制,因此一旦new了它,必须delete它,否则程序将崩溃,这便是内存泄漏.

查看完整回答
反对 回复 2021-12-19
  • 2 回答
  • 0 关注
  • 273 浏览

添加回答

举报

0/150
提交
取消
微信客服

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

帮助反馈 APP下载

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

公众号

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