malloc/free是c++/c语言的标准库函数,new/delete是c++运算符,它们都可以动态申请内存和释放内存。
1.new/delete在实现上是调用了malloc和free函数,但是它们还调用了构造函数和析构函数。
2.使用malloc函数进行内存分配必须指明要分配空间的具体大小;而用new则不需要,它能自动计算要分配的类型的大小。
3.malloc函数对类型缺乏检查和限制,它总是返回一个void指针,而new创建的是指针带类型信息。