new运算符用于申请所需的内存单元,返回指定类型的一个指针。
与new运算符相反,delete运算符是释放new申请到的内存。即当程序中不再需要使用运算符new创建的某个内存单元时,就必须用运算符delete来删除它。
delete只是删除动态内存单元,并不会将指针本身删除。
new/delete不是C++的库函数,而是运算符,而malloc/free才是C和C++的标准库函数。
由于malloc()和free()是库函数而不是运算符,它们不在编译器控制权限之内,不能够把执行构造函数和析构函数的任务强加于malloc和free函数。