析构函数的作用是什么?

时间:2021-06-02 16:01:46
析构函数的作用在撤销对象占用的内存之前完成一些清理工作,除此之外还有没有其他作用?

24 个解决方案

#1


默认的功能就是那样

可以自己实现其他功能。

#2


析构函数主要被用来放弃在类对象的构造函数或生命期中获得的资源,如释放互斥锁或删除
由操作符new 分配的内存!
析构函数不局限在放弃资源上,一般地析构函数可以执行类设计者希望在最后一次
使用对象之后执行的任何操作!

#3


主要是处理资源, 释放, 
还有就是一些特殊具体的功能:
比如,当你定义了student类, 并且静态变量HowManyStudent, 用来计算学生数目, 构造函数里面HowManyStudent加一, 析构函数里面减一. 这就是为了实现具体的功能了.
呵呵~~~~

#4


LZ找本C++ 的书看看!!  如果任何一本C++基础的书,没有把这个问题说明白, 那个作者就是白痴!

#5


主要是释放申请的资源

#6


提供了一个自动调用的接口
你可以在里面写你要做的事情,主要是用来释放调申请的内存,资源,或者是Reset一些东西

#7


主要就是释放啊。不过更想知道楼主到底想了解什么。

#8


析构函数的作用在撤销对象占用的内存之前完成一些清理工作,除此之外还有没有其他作用?
=============================================
除此之外,就是 a piece of shit

#9


mechanism, not policy.
析构函数设计用于在对象生命周期结束时候被自动调用,至于它可以做什么,完全取决于实现这个析构函数的人。:)

#10


析构函数是释放内存空间的,而且可以设置为虚函数,释放一些默认析构释放不了的空间

#11


小弟谢谢大家了哈

#12


受益不少!

#13


可能它的原始目的是对将要离开作用域的类变量做一些善后工作。
但现在来看,它可以做一些分外的工作。
也就是说,从行为上析构函数能够在执行流离开变量作用域时自动调用(包括抛出异常时),任何时候只要你想利用这一特性,你就可以从它的身上得到好处。

#14


mechanism,   not   policy.
析构函数设计用于在对象生命周期结束时候被自动调用,至于它可以做什么,完全取决于实现这个析构函数的人。

:)
9楼说的好啊!

#15


主要还是释放内存

#16


新手《======初来乍到

#17


太牛了
2007年的帖子居然被挖了出来

#18


就是啊   3年了 还没结贴  真是牛人
请当地*局调查下楼主是否尚在人间

#19


哈哈 ----------

#20


你想在析构的时候做什么都写里面。

#21


这样的帖子是不是早应该强行关了啊

#22


释放内存 然后做你想要做的事情 
不过一般系统会自动生成一个缺省的析构函数,即使显式定义了析构函数,编译器会先调用自定义的然后在调用默认的合成析构函数

#23


起销毁类对象的作用,释放内存空间

#24


5年前的贴子还没结。

#1


默认的功能就是那样

可以自己实现其他功能。

#2


析构函数主要被用来放弃在类对象的构造函数或生命期中获得的资源,如释放互斥锁或删除
由操作符new 分配的内存!
析构函数不局限在放弃资源上,一般地析构函数可以执行类设计者希望在最后一次
使用对象之后执行的任何操作!

#3


主要是处理资源, 释放, 
还有就是一些特殊具体的功能:
比如,当你定义了student类, 并且静态变量HowManyStudent, 用来计算学生数目, 构造函数里面HowManyStudent加一, 析构函数里面减一. 这就是为了实现具体的功能了.
呵呵~~~~

#4


LZ找本C++ 的书看看!!  如果任何一本C++基础的书,没有把这个问题说明白, 那个作者就是白痴!

#5


主要是释放申请的资源

#6


提供了一个自动调用的接口
你可以在里面写你要做的事情,主要是用来释放调申请的内存,资源,或者是Reset一些东西

#7


主要就是释放啊。不过更想知道楼主到底想了解什么。

#8


析构函数的作用在撤销对象占用的内存之前完成一些清理工作,除此之外还有没有其他作用?
=============================================
除此之外,就是 a piece of shit

#9


mechanism, not policy.
析构函数设计用于在对象生命周期结束时候被自动调用,至于它可以做什么,完全取决于实现这个析构函数的人。:)

#10


析构函数是释放内存空间的,而且可以设置为虚函数,释放一些默认析构释放不了的空间

#11


小弟谢谢大家了哈

#12


受益不少!

#13


可能它的原始目的是对将要离开作用域的类变量做一些善后工作。
但现在来看,它可以做一些分外的工作。
也就是说,从行为上析构函数能够在执行流离开变量作用域时自动调用(包括抛出异常时),任何时候只要你想利用这一特性,你就可以从它的身上得到好处。

#14


mechanism,   not   policy.
析构函数设计用于在对象生命周期结束时候被自动调用,至于它可以做什么,完全取决于实现这个析构函数的人。

:)
9楼说的好啊!

#15


主要还是释放内存

#16


新手《======初来乍到

#17


太牛了
2007年的帖子居然被挖了出来

#18


就是啊   3年了 还没结贴  真是牛人
请当地*局调查下楼主是否尚在人间

#19


哈哈 ----------

#20


你想在析构的时候做什么都写里面。

#21


这样的帖子是不是早应该强行关了啊

#22


释放内存 然后做你想要做的事情 
不过一般系统会自动生成一个缺省的析构函数,即使显式定义了析构函数,编译器会先调用自定义的然后在调用默认的合成析构函数

#23


起销毁类对象的作用,释放内存空间

#24


5年前的贴子还没结。