new,delete 与 malloc,free 的区别
new 用于动态分配内存和malloc的区别在于,malloc只会分配内存,并不会调用对象的构造函数。
相应的delete与free的区别在于,free只负责回收内存,但不会调用对象的析构函数。
new&delete 与 new[]&delete[]的区别
new 与 delete是相匹配的
new type[] 与 delete相配的
两者不匹配时,有可能会引起未定义错误,未定义错误非常讨厌,有时会没事,有时又会使程序崩溃。