1.共同点
都可用于动态申请系统的内存;
2.区别
(1)new/delete是c++的运算符,malloc/free是库函数,不是运算符;
(2)new会自动执行构造函数,能满足c++语言动态内存分配和初始化工作,delete会自动执行析构函数,能完成c++语言中的清理与释放内存的工作;对于非内部数据结构(诸如类的实例)而言,光用malloc/free无法满足动态对象的要求(由于malloc/free不再编译器控制权限之内,不能自动执行构造函数和析构函数,故无法满足动态创建对象的需求)。
new/delete和malloc/free的关系
最新推荐文章于 2023-12-10 19:12:13 发布