new和delete

sizeof不是函数,和它类似,new和delete也不是函数,它们都是C++定义的关键字,通过特定的语法可以组成表达式。

和malloc不同,malloc申请完空间后不会对内存进行必要的初始化,而new可以。

new的用法:

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

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

开辟单变量地址空间:

1、new int;  //开辟一个存放数组的存储空间,返回一个指向该存储空间的地址。int *a=new int;

2、int *p=new int(5);  //作用同上,但是同时将整数赋值为5。

delete用法:

1、int *a=new int;

  delete a;  //释放单个int空间

2、int *a=new int[5];

  delete [] a;  //释放int数组空间

posted @ 2016-05-30 09:12  chris_chan1024  阅读(172)  评论(0编辑  收藏  举报