malloc/free和new/delete的区别和联系
它们都是动态管理内存的入口。
malloc/free是C/C++标准库的函数,new/delete是C++表达式。
malloc/free只是动态分配内存空间/释放空间。而new/delete除了分配空间还会调用构造函数和析构函数进行初始化与清理。
malloc/free需要手动计算类型大小且返回值会void*,new/delete可自己计算类型的大小,返回对应类型的指针。
本文共 261 字,大约阅读时间需要 1 分钟。
malloc/free和new/delete的区别和联系
它们都是动态管理内存的入口。
malloc/free是C/C++标准库的函数,new/delete是C++表达式。
malloc/free只是动态分配内存空间/释放空间。而new/delete除了分配空间还会调用构造函数和析构函数进行初始化与清理。
malloc/free需要手动计算类型大小且返回值会void*,new/delete可自己计算类型的大小,返回对应类型的指针。
转载于:https://blog.51cto.com/10622551/1687198