c++的书上写道:如果使用 new[]为一个实体分配内存,则应使用delete(没有方括号)来释放。
2个回答
展开全部
内存分配总体来说有2中,静态和动态.
1.静态
如: A a[10];
这是在全局内存(全局变量)或堆栈(局部变量)中静态分配的,一般有固定大小,是在编译时就确定的.会随着程序退出(全局变量)或函数退出(局部变量)而自动释放.
2.动态
如 A *a=new A[10];
这是在堆中动态分配的,一般通过new()->malloc()->VirtualAlloc()实现,可以运行时制定大小,需自己手工释放.
1.静态
如: A a[10];
这是在全局内存(全局变量)或堆栈(局部变量)中静态分配的,一般有固定大小,是在编译时就确定的.会随着程序退出(全局变量)或函数退出(局部变量)而自动释放.
2.动态
如 A *a=new A[10];
这是在堆中动态分配的,一般通过new()->malloc()->VirtualAlloc()实现,可以运行时制定大小,需自己手工释放.
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询