64,654
社区成员
发帖
与我相关
我的任务
分享
LZ到底是从哪里听来的动态分配内存可以节省内存空间的?我从来不记得有这种说法。动态分配内存的最大原因是栈空间是非常有限和珍贵的,你内存可以到32G,那么你new出32G的内存都是有可能的,但系统分配给程序的栈空间可能只有几M。
当然还有个原因就是堆对象只要你不用delete,在整个程序的生命周期中都是有效的。
#include <iostream>
using namespace::std;
int main()
{
int a[4];
int *b = new int[4];
/*使用数组b*/
delete[] b;//如果确定不再使用数组b,可以释放b的空间
/*虽然可能数组a也不需要被使用,
*但是我们不能手动释放数组a的空间,
*只有当main函数执行完了以后才自动释放数组a的空间,那么这不是对空间的一种浪费吗
*/
return 0;
}