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.如果类中没有显示定义析构函数,编译器会生成一个默认的析构函数。

常见用途

  • 释放动态内存
  • 关闭文件或者网络连接
  • 清理临时数据
相关推荐
陳103035 分钟前
C++:红黑树
开发语言·c++
一切尽在,你来40 分钟前
C++ 零基础教程 - 第 6 讲 常用运算符教程
开发语言·c++
泉-java42 分钟前
第56条:为所有导出的API元素编写文档注释 《Effective Java》
java·开发语言
weixin_499771551 小时前
C++中的组合模式
开发语言·c++·算法
初级代码游戏1 小时前
套路化编程 C# winform 自适应缩放布局
开发语言·c#·winform·自动布局·自动缩放
_waylau1 小时前
鸿蒙架构师修炼之道-架构师的职责是什么?
开发语言·华为·harmonyos·鸿蒙
2的n次方_1 小时前
CANN Ascend C 编程语言深度解析:异构并行架构、显式存储层级与指令级精细化控制机制
c语言·开发语言·架构
近津薪荼2 小时前
dfs专题5——(二叉搜索树中第 K 小的元素)
c++·学习·算法·深度优先
xiaoye-duck2 小时前
吃透 C++ STL list:从基础使用到特性对比,解锁链表容器高效用法
c++·算法·stl
_F_y2 小时前
C++重点知识总结
java·jvm·c++