new/delete与malloc/free
malloc/free带的来问题很简单:它们对构造函数和析构函数一无所知。——〈Effective C++〉
new/delete会与构造函数和析构函数有适当的互动,这样可以保证动态创建对象和释放对象的正确性。
不要将malloc/free和new/delete混用,必须一一对应。使用了malloc的必须使用free来释放,而使用new的必须使用delete来释放,否则会出现不可预料的问题,其结果是所谓的“未定义”:在开发和测试阶段都没问题,但会在你最重要的客户面前爆发。