C++分析New和Delete----C语言Malloc和Free
C++中为什么不用Malloc和Free,而用New和Delete?
<1> 如图: 类的对象在堆上分配的时候用malloc和free:
我们观察发现虽然在堆上申请空间了,但并没有调用构造函数和析构函数。

发现并没有调用我们自己写的构造和析构函数:
<2> 用New和Delete观察:
我们会发现构造函数和析构函数都调用了:
观察看到也申请了空间: 释放空间:
由此可以总结:
new:
语法:类型名 *p = new 类型名
①可以跟malloc一样分配对象内存。
②new还可以调用析构函数。
Delete:
①可以和free一样释放空间。
②还可以调用析构函数。
②还可以调用析构函数。
有什么问题欢迎留言!~~~~