C++-------new 与malloc

Posted god-for-speed

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++-------new 与malloc相关的知识,希望对你有一定的参考价值。

//new开辟10个数组元素
int *array =new int[10];
//delete释放开辟的数组
delete[] array;


//使用New开辟对象空间
Test *p=new Test(10,10);   //用New可以直接调用构造函数,但用Malloc则不可以,需要调用成员函数初始化

//free不能调用对象的析构函数,所以用delete比较好,否则可能造成内存泄漏
  比如说Test t("123"),此时的123已经是新的空间,用free方式剩下的123没被释放,因没调用析构函数
  而用delete则会调用析构函数进行释放

//malloc、free是调用标准库函数
而new、delete是C++的关键字,本身具有

 

以上是关于C++-------new 与malloc的主要内容,如果未能解决你的问题,请参考以下文章

C/C++——C++中new与malloc的10点区别

new/delete 与 malloc/free的区别

malloc与new相关

C++ malloc 与 new 的区别

C++ malloc 与 new 的区别

malloc/free与new/delete的区别与联系