当前位置: 首页 > news >正文

C++中析构函数

析构函数

析构函数(Destructor)是类的一种特殊成员函数,用于在对象的生命周期结束时执行清理操作,他的主要作用是释放对象占用资源,例如动态分配的内存,文件句柄或网络连接等。

特点

  1. 名称与类名称相同 单前面加一个波浪号~
  2. 无返回值,也不能指定参数。
  3. 自动调用:当对象超出作用域或被显示删除(delete)时,析构函数会被自动调用。
  4. 一个类只能有一个析构函数 ,不能重载。

示例代码

#include <iostream>
using namespace std;class MyClass{publicMyClass(){cout << "调用了构造函数!" << endl;}~MyClass(){cout << "调用了析构函数" << endl;}
}int main(){MyClass obj;// 构造函数被调用// 当程序结束时,析构函数会被调用return 0;
}

注意事项

1.如果类中有动态分配的资源,必须在析构函数中释放它们以避免内存泄漏。
2.在继承中,派生类的构造函数会先执行,然后再调用基类的析构函数。
3.如果类中没有显示定义析构函数,编译器会生成一个默认的析构函数。

常见用途

  • 释放动态内存
  • 关闭文件或者网络连接
  • 清理临时数据

相关文章:

  • log4cpp进阶指南
  • LeetCode 每日一题 2025/4/21-2025/4/27
  • 关于Spark知识点与代码测试的学习总结
  • element-ui dropdown 组件源码分享
  • 【c++】AVL树模拟实现
  • Comfy UI 笔记
  • 文章记单词 | 第47篇(六级)
  • 面试记录1-春招补录0427
  • 基础学习:(9)vit -- vision transformer 和其变体调研
  • 《大型网站技术架构-核心原理与案例分析》笔记
  • UV工具的安装与使用
  • Leetcode:283. 移动零
  • Scala 函数柯里化及闭包
  • 343. 整数拆分
  • Tailwind CSS 实战:基于 Kooboo 构建企业官网页面(二)
  • 【SF】在 Android 显示系统中,图层合成方式 Device 和 Client 的区别
  • 信创系统资产清单采集脚本:主机名+IP+MAC 一键生成 CSV
  • 汽车产业链主表及类别表设计
  • 2、Linux操作系统下,ubuntu22.04版本安装搜狗输入法
  • ACM会议模板设置单排作者数量
  • 对谈|《对工作说不》,究竟是要对什么说不?
  • 强制性国家标准《危险化学品企业安全生产标准化通用规范》发布
  • 新片|《我仍在此》定档5月,《新·驯龙高手》同步北美上映
  • 深观察丨从“不建议将导师挂名为第一作者”说开去
  • 史学巨擘的思想地图与学术路径——王汎森解析梁启超、陈寅恪、傅斯年
  • 青海西宁市城西区副区长于媛媛主动投案,接受审查调查