new和delete运算符 c/c++

 我来答
lyz810
推荐于2017-10-01 · 知道合伙人互联网行家
lyz810
知道合伙人互联网行家
采纳数:7531 获赞数:31776
前端开发工程师

向TA提问 私信TA
展开全部

c++中,new的用法很灵活,这里进行了简单的总结:

  1. new() 分配这种类型的一个大小的内存空间,并以括号中的值来初始化这个变量;

  2. new[] 分配这种类型的n个大小的内存空间,并用默认构造函数来初始化这些变量;  

  3. 当使用new运算符定义一个多维数组变量或数组对象时,它产生一个指向数组第一个元素的指针,返回的类型保持了除最左边维数外的所有维数。

delete用于释放申请的内存空间

释放由new申请的空间可以使用delete,释放由new[]申请的空间可以使用delete[]

下载完以后
推荐于2017-09-06
知道答主
回答量:4
采纳率:0%
帮助的人:0
展开全部
在C++语言中,仍然支持malloc()和free()来分配和释放内存,同时增加了new

和delete来管理内存。
1.为固定大小的数组分配内存

#include iostream.h

int main()
{
int *birthday=new int[3];
birthday[0]=6;
birthday[1]=24;
birthday[2]=1940;
cout< < delete [] birthday; //注意这儿
return 0;
}

在删除数组时,delete运算符后要有一对方括号。
2.为动态数组分配内存

#include iostream.h
#include stdlib.h

int main()
{
int size;
cin>>size;
int *array=new int[size];
for(int i=0;i array[i]=rand();
for(i=0;i cout<<'\n'< delete [] array;
return 0;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式