1、new delete 操作符号 是c++关键字
2、malloc free 函数 c语言
3、new和malloc都是在堆上分配内存
//分配基础类型
int *p=(int *)malloc(sizeof(int));
free(p);
int *d=new int;//同上,从这里可以看出malloc需要计算出字节个数,而new不用计算。
delete d;
int * d2=new int(10);//分配内存同时初始化。
delete p2;
//分配数组类型
int * p2=(int *)malloc(10*sizeof(int));
free(p2);
int * p3=new int[10];
delete [] p3;
//分配对象
//由以上可以看出malloc和free配合使用,new和delete配合使用,那么他们能否混合使用呢?
//malloc--delete new---free
//在基础类型以及数组类型中都一样,可以混合使用。但是,在对象中不可以,因为malloc不会调用构造函数,而new会调用构造函数。
//其次delete会调用析构函数,free不会调用析构函数