C++ malloc 和 new 的函数说明

malloc 和 new 一些不同点

1. 数组变量的申请

int *p = (int *) malloc (sizeof(int) * 5);

if(p==NUILL)

return;

free (p);

int *p = new int[4];

delete [] p;

2. 初始化申请----------->malloc 不能初始化,new 可以初始化

char *p = (char *) malloc(sizeof(char));

if(p==NULL)

return ;

*p = 'a';

free(p);

char *p = new char(a);

delete p;

3. 对对象的申请

malloc : 只能单独给对象申请空间,不能进行构造函数的调用

new : 不仅能申请动态空间,还能调用构造函数进行对成员变量初始化