对于非内部数据类型的对象而言,光用maloc/free无法满足动态对象的要求。
对象在创建的同时要自动执行构造函数,对象在消亡之前要自动执行析构函数。
由于malloc/free是库函数而不是运算符,不在编译器控制权限之内,不能够
把执行构造函数和析构函数的任务强加于malloc/free。因此C++语言需要一个
能完成动态内存分配和初始化工作的运算符new,以及一个能完成清理与释放内存
工作的运算符delete。注意new/delete不是库函数。我们不要企图用malloc/free
来完成动态对象的内存管理,应该用new/delete。由于内部数据类型的“对象”没有构造
与析构的过程,对它们而言malloc/free和new/delete是等价的。