我看到很多类的析构函数都是空的。但是,并非所有人都这样。有什么时候我们需要在析构函数中写一些内容吗?如果类中的所有变量都是静态的,那么我们总是只需要一个空的析构函数吗?
答案 0 :(得分:1)
当需要在项目被销毁时执行某些操作时,您需要一个析构函数。对于析构函数,您可能不需要做任何标准的事情。
您可能选择使用析构函数的内容:
delete
释放内存(使用new
运算符分配的内存)。虽然destructor
是为每个项目执行工作的自动方式,但您可以选择在程序主体中手动执行这些任务"(不推荐)或者通过使用特定的方法。
答案 1 :(得分:0)
如果您没有定义任何构造函数,那么c ++将为您创建一个空的默认构造函数。
所以答案是你可以自由决定是否定义一个空构造函数。在这种情况下,它没有任何区别。
如果类的所有变量都是静态的...它在很大程度上取决于情况,但通常作为经验法则,静态类不使用析构函数,因为它们没有被实例化为" normal"类。
有时候你确实需要在类静态中拥有所有变量。 这种情况甚至有pattern。但这更像是一个例外,而不是一个规则。