malloc, free 是c的库函数,只会分配内存大小,不会调用构造函数,析构函数
new, delete C++关键字,操作符,不仅可以分配内存大小,还可以调用构造函数,析构函数
在执行基本类型,数组(其中存储的是基本类型)操作时,可以混用!
int *p = new int;
p = 1;
delete p;
或者
int *p = new int (1); //不仅分配内存大小,还可以调用类的初始化函数进行初始化
数组:
int *p = new int[10];
p[0] = 1;
delete [] p;
当操作 类 时,有所不同:
malloc, free 是c的库函数,只会分配内存大小,不会调用构造函数,析构函数
new, delete C++关键字,操作符,不仅可以分配内存大小,还可以调用构造函数,析构函数