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出来的指针是直接带类型信息的。