如何为类创建析构函数

How to create a destructor for a class

本文关键字:创建 析构函数      更新时间:2023-10-16

我发现,对于许多类,析构函数都是空的。然而,并非所有人都是这样。当我们需要在析构函数中写入一些东西时,有规则吗?如果类中的所有变量都是静态的,那么我们总是只需要一个空的析构函数吗?

当您需要在项被销毁时执行某些操作时,您需要一个析构函数。对于析构函数,您可能不需要做任何标准的事情。

你可以选择使用析构函数的东西:

  1. 终止一些正在运行的线程
  2. 向用户提供有意义的消息
  3. 打印文件中的重要内容,删除项目后文件将丢失
  4. 使用delete取消分配内存(已使用new运算符分配的内存)
  5. 关闭互联网连接插座

虽然destructor是为每个项目执行任务的自动方式,但您可以选择"手动"执行这些任务,既可以在程序主体中执行(不推荐),也可以使用特定的方法执行。

如果您没有定义任何构造函数,那么c++将为您创建一个空的默认构造函数。

因此,答案是您可以自由决定是否定义一个空构造函数。在这种情况下没有任何区别。

如果类的所有变量都是静态的。。。这在很大程度上取决于情况,但通常根据经验,静态类不使用析构函数,因为它们不像"正常"类那样实例化。

有时,您确实需要使类中的所有变量都是静态的。这种情况甚至有一种模式。但这更多的是一种例外,而不是一种规则。

相关文章: