关于C++中的析构函数

比如说你定义了一个类A, 有一个成员对象是char * arrayMember;他是一个指针,然后你定义一个A的对象 A a;使用它的arrayMember去new一块内存进行应用,然后在你收回a的内存的时候,如果不使用析构函数,你只会收回arrayMember所占的4字节内存空间,而它所指向的那段new出来的那块内存就不会被回收, 析构函数所谓的清理就是帮助回收类似这样和a对象有依赖关系的内存空间,或者其他因为a的消失会跑飞的一些资源。

对象内存的回收只是意味着这个对象的成员函数 成员变量 以及其他这个对象所占有的内存的删除回收;而它所管理或者有依赖关系的一些资源的回收需要在析构函数里面进行,否则对象没了,就寻找不到他们了,他们就会成为默默存在却永远不会被使用的资源。


上述对于析构函数的理解来自百度知道,作为初学者在网上见到这种解释,感动到我来记录下来。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值