C++之 new, delete 与malloc, free的区别 fimm 2020-08-15 374 阅读1分钟 1. new 和 delete在C++中是操作符可以被重载, malloc与free只是普通函数。 2. new会分别分配内存后调用构造函数,delete会调用析构函数然后释放内存。malloc和free只会分配内存和释放内存。 3. new返回匹配的类型,malloc返回的是void* 需要自己强转。 4. new会自动计算对象所需要的空间大小, malloc需要自己手动计算。 5. new分配失败会抛异常,malloc会返回空。