c的free和c++的delete的区别

2025-04-02 23:34:13
推荐回答(1个)
回答(1):

delete 用于释放new分配的内存,和new成对调用

free用于释放malloc分配的内存,和malloc成对调用

使用free释放时需要判断指针是否为NULL,delete不用

free释放内存,但不调用对象的析构函数
delete不仅释放内存,还调用对象的析构函数

delete和new是对对象的操作,是运算符
free和malloc是对内存空间的操作