对于非内部数据类型的对象而言,光用malloc/free无法满足动态对象的要求。对象创建时同事要自动执行构造函数,对象在消亡之前要自动执行析构函数。由于malloc是库函数不是运算符,不在编译器控制权限之内,不能够把执行构造函数和析构函数的人物强加于malloc/free。
不要企图用malloc/free来完成动态对象的内存管理,应该用new/delete.由于内部数据类型的“对象”没有构造与析构的过程,对它们而言malloc/free和new/delete是等价的。
因为C++程序经常要调用C函数,而C程序只能用malloc/free管理动态内存.