第55课 经典问题解析(四)

关于动态内存分配:

new Test共完成两步:

1、申请堆空间

2、在申请的堆空间上调用构造函数

示例程序:

 第18行申请了内存空间,然后在申请的内存空间上调用了构造函数。

而第19行仅仅是申请了内存空间。

面向对象中尽量使用new。

new是C++语言的一部分。

delete:

 第25行的delete执行了析构函数,并且释放了内存空间。

第26行仅仅释放了内存空间。

new申请的内存要用delete释放,千万不要用free释放。因为用free释放时仅仅会释放内存,但是不会执行析构函数。

delete一个对象时会先调用析构函数。

malloc申请的内存,也不要用delete释放。有可能产生bug。

猜你喜欢

转载自www.cnblogs.com/wanmeishenghuo/p/9588646.html