malloc/free是标准库函数,new/delete是C++运算符
malloc失败返回空,new失败抛异常
new/delete会调用构造、析构函数,malloc/free不会,所以他们无法满足动态对象的要求。
new返回有类型的指针,malloc返回无类型的指针
注:
new一个大小为0的数组时,编译不会报错。
malloc/free是标准库函数,new/delete是C++运算符
malloc失败返回空,new失败抛异常
new/delete会调用构造、析构函数,malloc/free不会,所以他们无法满足动态对象的要求。
new返回有类型的指针,malloc返回无类型的指针
注:
new一个大小为0的数组时,编译不会报错。