delete的调用对象是析构函数释放内存
new 对应free,new调用构造函数,创建内存空间
malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符它们都可以动态的分配内存和释放内存。
对于非内部函数数据类型的对象而言,光使用malloc和free是无法满足动态对象的要求。
对象在创建的同时要自动执行构造函数,对象在消亡之前要自动执行析构函数
由于malloc/free是库函数而不是运算符,不在编译器的控制权限之内,不能够把执行构造函数和析构函数的任务强加于malloc/free;因此,C++需要new完成动态内存分配和初始化工作,以及使用delete完成内存的清理与释放。
注:new/delete不是库函数