析构函数的作用和用法
析构函数是“反向”的构造函数。它们在对象被撤消(回收)时调用。析构函数的名 称除了最前面的“~”符号外,与类的名称相同。例如,类String的析构函数是~string()。 析构函数通常用于当一个对象不再需要时,完成“消除”功能。
在函数中建立对象之后,这个对象作为局部对象开始生存,直到函数运行到遇见右括号“}”才结束生存,此时调用析构函数。
对象的释放发生在以下几种情况,首发自学编程网:
·使用运算符new分配的对象被delete删除。
·一个具有块作用域的本地(自动)对象超出其作用域。
·临时对象的生存期结束。
·程序结束运行。
·使用完全限定名显示调用对象的析构函数。
有几条规则约束着析构函数的说明:
·不能接受参量。
· 不能说明有任何返回类型(包括void)。
·不能用return语句返回值。
· 不能说明为const、volatile或static,但析构函数可以因说明为const、volatile或static的对象的析构而被调用。
·可以说明为虚拟的。使用虚析构函数,可以撤消对象而不必知道该对象的类型。由于使用虚拟函数机制,程序将调用该对象的正确的析构函数。
析构函数的作用和用法相关推荐
- PHP中的常见魔术方法功能作用及用法实例
这篇文章主要介绍了PHP中的常见魔术方法功能作用及用法实例,本文讲解了构造函数和析构函数__construct()和__desctruct()以及属性重载(Property Overloading)_ ...
- C#中using关键字的作用及其用法(转)
C#中using关键字的作用及其用法 using的用途和使用技巧. using关键字微软MSDN上解释总共有三种用途: 1.引用命名空间. 2.为命名空间或类型创建别名. ...
- PreTranslateMessage作用和用法
PreTranslateMessage作用和用法 PreTranslateMessage是消息在送给TranslateMessage函数之前被调用的,绝大多数本窗体的消息都要通过这里,比較经常使用,当 ...
- java package作用_java import、package作用与用法
java import.package作用与用法 有些人写了一阵子Java,可是对於Java 的package 跟import 还是不太了解很多人以為原始码 .java 档案中的import 会让编译 ...
- MySQL数据类型中DECIMAL的作用和用法
在MySQL数据类型中,例如INT,FLOAT,DOUBLE,CHAR,DECIMAL等,它们都有各自的作用,下面我们就主要来介绍一下MySQL数据类型中的DECIMAL类型的作用和用法. 一般赋予浮 ...
- php中pre标签,html中pre标签与code标签的作用与用法
HTML 标签 定义和用法 pre 元素可定义预格式化的文本.被包围在 pre 元素中的文本通常会保留空格和换行符.而文本也会呈现为等宽字体. 标签的一个常见应用就是用来表示计算机的源代码. 可以导致 ...
- 、简述global关键字的作用_在C#编程中global关键字的作用及其用法
在C#编程中,global 是 C# 2.0 中新增的关键字,理论上说,如果代码写得好的话,根本不需要用到它.今天就为大家展示下global关键字的作用及其用法,希望对大家学习C#编程有所帮助. 假设 ...
- chrome中Blackbox Script 黑盒脚本作用及用法
chrome中Blackbox Script 黑盒脚本作用及用法 Blackbox Script功能 每天前端人员在调试代码的时候,都可能会遇到代码调试着会进入第三方库文件,带来很多没必要的调试,不方 ...
- virtual析构函数(作用)
virtual析构函数的作用? . 大家知道,析构函数是为了在对象不被使用之后释放它的资源,虚函数是为了实现多态.那么把析构函数声明为vitual有什么作用呢?请看下面的代码: 1 #include ...
最新文章
- python面向对象编程 Object-Oriented
- python学习之——利用urllib2抓取网页内容
- 转载:关于爱情、伴侣、承诺、人生、
- linux系统中使用pycharn,在pycharm中使用linux控制台
- springboot拦截了静态资源css,js,jpg,png等
- 后台管理系统框架bootstrap中文版
- matlab期权定价模型比较,期权定价模型与数值方法(Matlab+Jupyter Notebook)
- labview和python混编_将数据从LabView发送到Python并取回
- java bufferedinputstream关闭_Java BufferedInputStream close()用法及代码示例
- Unable to load class 'org.gradle.api.internal.component.Usage
- 诚龙网刻报错_诚龙PXE网刻工具11.5
- 区间最值操作与历史最值问题(二)
- 服务器监控系统应有哪些功能,公安视频监控系统需要具备哪些功能
- 父子盒子边距塌陷之为什么设置margin-top父子盒子会一起移动
- Win键失效,Win+L不起作用了
- 十点读书:如果你不想工作了,就去这四个地方走走
- java面向对象基础
- 如何用示波器调试波形
- 常用短链接生成工具推荐
- matlab中求x的y次幂,Matlab求关于x,y的三元函数的幂的拟合
热门文章
- VMware下ubuntu虚拟机和windows创建共享文件夹
- 远程员工的设备更新和数据迁移应该如何管理?
- JetLinks物联网基础平台-通过第三方MQTT服务接入设备
- 华为防火墙ipsec vp*实例配置
- orbslam2代码详解之tracking线程——局部地图跟踪
- Intellij Idea 将Java项目打包成jar
- 大数据分析:王宝强离婚事件到底有多火热!
- 趣味程序设计_过桥问题(C语言)
- Android 屏幕适配(修改系统字体大小、显示大小、修改分辨率相关适配)
- storage size of ‘xxxx‘ isn‘t known