首页 > 技术文章 > C++ malloc 和 new 的函数说明

liunx1109 2018-09-08 17:06 原文

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 :  不仅能申请动态空间,还能调用构造函数进行对成员变量初始化

 

 

推荐阅读