C++中析构函数

析构函数

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

特点

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

示例代码

cpp 复制代码
#include <iostream>
using namespace std;

class MyClass{
	public:
		MyClass(){
			cout << "调用了构造函数!" << endl;
		}
		~MyClass(){
			cout << "调用了析构函数" << endl;
		}
};

int main(){
	MyClass obj;// 构造函数被调用
    // 当程序结束时,析构函数会被调用
	return 0;
}

注意事项

1.如果类中有动态分配的资源,必须在析构函数中释放它们以避免内存泄漏。

2.在继承中,派生类的构造函数会先执行,然后再调用基类的析构函数。

3.如果类中没有显示定义析构函数,编译器会生成一个默认的析构函数。

常见用途

  • 释放动态内存
  • 关闭文件或者网络连接
  • 清理临时数据
相关推荐
weixin_307779137 分钟前
一维无粘 Burgers 方程的激波形成问题:MacCormack 格式求解
c++·算法·matlab
HugoStudio_SWAN29 分钟前
洛谷 B4500 / B4449 / B3843 凯撒密码、密码强度与密码合规——加密与安全的三道门
c++·学习·程序人生·算法·安全
雾里看山1 小时前
源码目录、构建目录与 out-of-source build
c++·软件构建·cmake
渡我白衣3 小时前
并查集:基础认识与模拟实现
android·java·javascript·数据结构·c++·算法·并查集
天下无敌笨笨熊3 小时前
C#Modbus串口开发心得
开发语言·c#
电商API_180079052473 小时前
电商商品价格监控工具淘宝京东商品价格抓取API项目实操分享
java·大数据·开发语言·前端·数据挖掘
zzzll11113 小时前
深度剖析:HashMap 并发死循环与 ConcurrentHashMap 两代演进全解
java·开发语言
如意猴3 小时前
【C++】001--C++入门(1)
开发语言·c++
hetao17338373 小时前
2026-09-01~09-04 hetao1733837 的刷题记录
c++·算法
传奇开心果编程4 小时前
【Rust入门知识点学与练】第10课:Option 和 Result(错误处理入门)
开发语言·学习·rust