new/delete molloc/free
new/delete 是一种c++运算符,而moloc/free是c/c++语言库函数,他们都可以用来申请内存和释放内存。
new会为目标申请内存和调用构造函数,并返回是对象类型指针,而molloc只会申请内存,返回void*的指针。
相对delete 和 free 也有类似的区别,delete会先调用析构函数然后释放内存,而free只会释放内存。
这是因为molloc和free函数不在编译器控制的范围内,不能把调用构造函数和析构函数的任务强加于这两个函数,因此c++语言需要一个能完成动态分配内存同时可以初始化工作的运算符new,以及一个能完成清理工作和释放内存的delete

浙公网安备 33010602011771号