new和malloc进行空间分配的区别

2025-03-05 09:32:11
推荐回答(1个)
回答1:

1、new 是c++中的操作符,malloc是c 中的一个函数
2、new 不止是分配内存,而且会调用类的构造函数,同理delete会调用类的析构函数,而malloc则只分配内存,不会进行初始化类成员的工作,同样free也不会调用析构函数
3、内存泄漏对于malloc或者new都可以检查出来的,区别在于new可以指明是那个文件的那一行, 而malloc没有这些信息。
4、new 和 malloc效率比较
new可以认为是malloc加构造函数的执行。