1.malloc/free是c++/c语言标准库函数,new/delete是c++运算符,都可以申请动态内存和释放内存
2.new出来的指针是直接带类型信息,malloc申请内存需要类型转换,new不用。
3.对非内部数据类型的对象, malloc/free 无法满足动态对象的要求。由于malloc/free是库函数,在非内部,不能自动执行类的构造函数,free时候不能执行析构函数,也就不能在非内部创建对象和消亡对象,而new/delete可以完成这项工作。
1.malloc/free是c++/c语言标准库函数,new/delete是c++运算符,都可以申请动态内存和释放内存
2.new出来的指针是直接带类型信息,malloc申请内存需要类型转换,new不用。
3.对非内部数据类型的对象, malloc/free 无法满足动态对象的要求。由于malloc/free是库函数,在非内部,不能自动执行类的构造函数,free时候不能执行析构函数,也就不能在非内部创建对象和消亡对象,而new/delete可以完成这项工作。