搜索
当前位置: 7303刘伯温开奖6374 > 调用 >

析构函数怎么现实调用啊

gecimao 发表于 2019-07-12 21:46 | 查看: | 回复:

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  展开全部析构函数不需要你去直接调用,任何对象(类的实例)被删除之后,系统都会自动调用析构函数。

  一般的,如果你用new创建对象,那么在delete的时候,会调用对象的析构函数。如果对象是全局变量或者局部自动变量,则在这个变量的生存期结束的时候调用析构函数,比如局部自动变量是在函数返回的时候被删除,这个时候会调用析构函数。

  展开全部在C#中的话,析构函数是正常是无法确切的知道何时调用的,因为在Runtime中,你只能掌管对象的生 (class MyClass=new class();)

  但你无法掌握对象的死,也就是说你不能想让它释放内存中占用的资源就让它消失,对象的死是由天住定的(C#的垃圾回收站),垃圾回收站自己有自己的一套算法,比如用户的内存严重不足时,垃圾回收站就会自动启动,来回收那些已经没有被参考到的对象 所占用的内存资源

  你可以通过 强制垃圾回收站启动来达到回收 对象所站用的资源,对象被回收前的一刻,会执行析够函数,但无法遇见 多个对象的析够函数的执行先后顺序,它们执行的顺序是无法遇见的,所以你的代码也许并不能达到你所预期的效果

  我看了很的书上的 建议是 析够函数不建议使用,但你若想给对象一个死的机会,那你就写析够函数,然后强制启动垃圾回收站吧

  展开全部析构函数的作用是回收垃圾,所以当你的NEW的变量超出作用域的时候编译环境就自动调用 CONSTRUCTOR

  构造函数(constructor)是一种特殊的成员函数,它提供了对成员变量进行初始化的方法,使得在声明时能自动地初始化对象.因为当程序创建一个对象时,系统会自动调用该对象所属类的构造函数.

  析构函数(destructor)也是一种成员函数,但它的作用与构造函数相反,用来在系统释放对象前做一些清理工作,如利用delete运算符释放临时分配的内存,清零某些内存单元等.当一个对象生存期结束时,系统会自动调用该对象所属类的析构函数;

  构造函数的名称与类名相同,而析构函数的名称必须在类名前加上~符号;注意,构造函数和析构函数不能指定任何返回值类型,包括void返回类型;

本文链接:http://olivierlutaud.net/diaoyong/675.html
随机为您推荐歌词

联系我们 | 关于我们 | 网友投稿 | 版权声明 | 广告服务 | 站点统计 | 网站地图

版权声明:本站资源均来自互联网,如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

Copyright @ 2012-2013 织梦猫 版权所有  Powered by Dedecms 5.7
渝ICP备10013703号  

回顶部