默认析构函数可以自动生成为虚拟析构函数吗?
如果我定义了一个基类但没有默认析构函数,是否会自动生成默认的虚拟析构函数?
原文由 user53670 发布,翻译遵循 CC BY-SA 4.0 许可协议
默认析构函数可以自动生成为虚拟析构函数吗?
如果我定义了一个基类但没有默认析构函数,是否会自动生成默认的虚拟析构函数?
原文由 user53670 发布,翻译遵循 CC BY-SA 4.0 许可协议
3 回答1.1k 阅读✓ 已解决
1 回答992 阅读✓ 已解决
4 回答780 阅读
1 回答859 阅读
1 回答890 阅读
1 回答657 阅读
1 回答765 阅读
不。使方法虚拟化是有成本的,而 C++ 的理念是不让您为未明确声明要使用的东西付费。如果虚拟析构函数会自动生成,那么您将自动付出代价。
为什么不直接定义一个空的虚拟析构函数?