当前位置: 首页 > 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会议模板设置单排作者数量
  • 加拿大今日大选:房价、印度移民和特朗普,年轻人在焦虑什么?
  • 艺术与医学的对话,瑞金医院办了一个展览
  • 特朗普将举行集会庆祝重返白宫执政百日,美媒:时机不当
  • 伊朗港口爆炸已造成281人受伤
  • 对话|男篮国手杨瀚森:参加NBA选秀,去更大的舞台追梦
  • 专访倪军:人要有终身学习能力,一张文凭无法像以往支撑那么多年