new和malloc在分配内存上的区别

2018-11-27  本文已影响0人  有选择恐惧症的小黄鸭

1. new是C++中的操作符,malloc是c中的一个函数

2. new不止是分配内存,而且会调用类的构造函数,同理delete会调用类的析构函数

    malloc则只分配内存,不会进行初始化类成员的工作,同样free也不会调用析构函数

3. 在内存泄漏的问题上,new和malloc都是可以检查出来的,区别在于new可以指明是哪个文件的哪一行,而malloc没有这些信息。

4. new和malloc的效率比较:

new可以认为是maollc加构造函数的执行。

new出来的指针是直接带类型信息的。

上一篇下一篇

猜你喜欢

热点阅读