使用常量析构函数是很有用的

It is useful to put a constant destructor?

本文关键字:有用 析构函数 常量      更新时间:2023-10-16

我想知道在常量中放入析构函数是否有用?例如:

<>之前类的例子{公众:例子(int参数);const ~例子();//在这里}

从概念的角度来看,这没有任何意义。const函数没有副作用。因此,它们需要返回一些东西。由于析构函数不返回任何内容,因此该函数将是无用的。

(类似于const void函数)

如评论所述,您仍然可以在const中修改mutable数据。

这没有用,因为这是不可能的:

错误:析构函数声明不允许使用限定符

这是没有用的,并且通常会触发编译器的警告-通常是对修饰符被忽略的效果。

从函数返回的const限定符主要只对返回指针或引用的函数有用(例如,指示返回的引用是一个逻辑上不应该更改的对象)。析构函数不返回任何东西,因此没有const可以限定的东西。

使析构函数本身为const(即~example() const)将被编译器拒绝。这是合适的,因为析构函数通常会改变对象的状态(使其在逻辑上不再存在)