美文网首页
C++类的析构器

C++类的析构器

作者: StevenHD | 来源:发表于2020-10-27 19:12 被阅读0次

析构器的特点

  • 与类名相同(除了~),无参,无返回

无参数意味着不需要重载,也没有默认参数

  • 对象消失的时候,自动被调用,用于对象销毁时的内存处理工作
  • 如果我们没有自己写一个析构器,那么系统就会默认生成一个空析构器

当没有内存需要我们处理的时候,我们是可以不用自己写析构器的(比如没有指针变量

C语言中的析构麻烦之处——

C语言的析构
  • 函数是不占空间的

博客示例源代码

#include <iostream>

using namespace std;

class Stu
{
public:
    Stu()
    {
        name = new char[100];
    }
    
    ~Stu()
    {
        delete []name;
    }
    
private:
    char *name;
    // int name  // 可以不用写类析构器了
    int age;
}

int main()
{
    Stu *ps = new Stu;
    
    strcpy(ps->name, "sdfadd");
    
    delete ps;
}

相关文章

  • swift3语法(十二)

    析构过程 析构器析构器只适用于类类型,当一个类的实例被释放之前,析构器会被立即调用。析构器用关键字deinit来标...

  • swift之析构过程与自动引用计数

    1>析构器原理 析构器只适用于类类型,当一个类的实例被释放之前,析构器会被立即调用。析构器用关键字deinit来标...

  • Swift - 析构过程

    析构过程 析构器只适用于类类型,当一个类的实例被释放之前,析构器会被立即调用。析构器用关键字 deinit 来标示...

  • 13-Swift析构过程(Deinitialization)

    析构器只适用于类,当一个类的实例被释放之前,析构器会被立即调用。析构器用deinit关键字来标示。 一、析构过程原...

  • Swift5.1构造过程&析构过程

    14.构造过程 构造过程 15.构析过程 析构过程原理析构过程:析构器只适⽤于类类型,当一个类的实例被释放之前,析...

  • swift基础—析构过程

    析构器只适用于类类型,当一个类的实例被释放之前,析构器会被立即调用。析构器用关键字 deinit 来标示,类似于构...

  • swift学习笔记(15)--- 析构过程

    析构器只适用于类类型,当一个类的实例被释放之前,析构器会被立即调用。析构器用关键字 deinit 来标示,类似于构...

  • Swift5.1—析构过程

    析构器只适用于类类型,当一个类的实例被释放之前,析构器会被立即调用。析构器用关键字 deinit 来标示,类似于构...

  • GeekBand C++面向对象高级编程(下)(第四周):没有虚

    在C++中,如果一个类是作为父类存在时,那么析构函数必须是虚析构函数,否则在对其子类进行析构时,只会释放其父类的成...

  • deinit(析构)

    //个人感觉析构和oc中控制器的dealloc相似 //析构// “析构器只适用于类类型,当一个类的实例被释放之前...

网友评论

      本文标题:C++类的析构器

      本文链接:https://www.haomeiwen.com/subject/wyoxvktx.html