new/delete是c++中的运算符;
malloc/free是C/C++中的库函数;
一般情况下是没什么区别的,都是对内存使用,但是在面向对象的过程中,区别还是非常明显的:
前者,是运算符,所以在使用的过程中调用构造函数和析构函数是非常方便的;
后者,是库函数,不能够强加给它任务去调用对象的构造和析构函数。
注意:
delete函数释放mallo申请的内存是没有关系的,但是如果用free来释放New分配的内存是就存在一定的问题,free不能调用析构函数。
new/delete是c++中的运算符;
malloc/free是C/C++中的库函数;
一般情况下是没什么区别的,都是对内存使用,但是在面向对象的过程中,区别还是非常明显的:
前者,是运算符,所以在使用的过程中调用构造函数和析构函数是非常方便的;
后者,是库函数,不能够强加给它任务去调用对象的构造和析构函数。
注意:
delete函数释放mallo申请的内存是没有关系的,但是如果用free来释放New分配的内存是就存在一定的问题,free不能调用析构函数。