new和malloc的缺点
时间: 2023-11-27 12:10:25 浏览: 60
c语言堆和链表.doc
虽然new和malloc都可以用来动态分配内存,但它们都有一些缺点。
1. new只能用于动态分配对象,而不能用于分配原始内存,而malloc可以用于分配任何类型的内存。
2. new需要调用对象的构造函数来初始化分配的内存,而malloc不会自动调用构造函数。
3. new返回的指针类型是对象类型指针,而malloc返回的指针类型是void类型指针,需要进行类型转换。
4. new会抛出异常,如果分配内存失败,而malloc则返回NULL。
5. new只能使用C++语言,而malloc可以在C和C++中使用。
6. new的内存分配和释放是成对出现的,而malloc则需要手动调用free函数进行内存的释放,容易出现内存泄漏问题。
综上所述,new和malloc各有优缺点,需要根据具体的情况进行选择。
阅读全文