联系:
1.返回的都是指向某一空间的指针。
2.都是在堆上分配空间。
区别:
1.new会构造对象并调用构造函数初始化对象,而malloc只是分配一段空间。
2.delete会调用析构函数释放对象,而free仅仅只是释放一段空间。
总结:
new/delete、malloc/free不要混用。且调用new和new[] 也要相应的调用 delete与delete[]。
delete默认是释放一个空间,delete[]是默认释放一段空间,若用错了,会导致内存泄漏。(对于自定义类型而言)