c c++ 动态内存分配 释放 区别

来源:互联网 发布:淘宝税收问题 编辑:程序博客网 时间:2024/06/04 18:09

c是malloc和free,c++是new和delete,区别如下:
(1)new、delete 是操作符,可以重载,只能在C++中使用。
(2)malloc、free是函数,可以覆盖,C、C++中都可以使用。
(3)new 可以调用对象的构造函数,对应的delete调用相应的析构函数。
(4)malloc仅仅分配内存,free仅仅回收内存,并不执行构造和析构函数
(5)new、delete返回的是某种数据类型指针,malloc、free返回的是void指针。