C++析构函数

析构函数

销毁对象时系统会自动调用一个函数来进行清理工作,例如释放分配的内存、关闭打开的文件等,这个函数就是析构函数。
析构函数(Destructor)也是一种特殊的成员函数,没有返回值,不需要程序员显式调用(程序员也没法显式调用),而是在销毁对象时自动执行。构造函数的名字和类名相同,而析构函数的名字是在类名前面加一个 ~ 符号。

注意

析构函数没有参数,不能被重载,因此一个类只能有一个析构函数。如果用户没有定义,编译器会自动生成一个默认的析构函数
new 创建的对象位于堆区,通过 delete 删除时才会调用析构函数;如果没有 delete,析构函数就不会被执行。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 什么是析构函数 析构函数是类的一个成员函数,名字由波浪号接类名构成,没有返回值,不接受参数,一个类只有一个析构函数...
    土豆吞噬者阅读 7,382评论 0 0
  • 1. 同时发生多个异常 C++并不禁止析构函数吐出异常,但它不鼓励你这样做。这是有理由的,考虑以下代码: 当vec...
    何幻阅读 8,089评论 0 0
  • 成员函数的一种名字与类名相同在前面加“~”没有参数和返回值一个类最多只有一个析构函数 对象消亡时候 - > 自动被...
    Mitchell阅读 3,443评论 0 1
  • 写在之前 因为简书字数限制,完整版地址:https://www.zybuluo.com/hainingwyx/no...
    hainingwyx阅读 14,729评论 0 41
  • 3. 类设计者工具 3.1 拷贝控制 五种函数拷贝构造函数拷贝赋值运算符移动构造函数移动赋值运算符析构函数拷贝和移...
    王侦阅读 5,884评论 0 1