【发布时间】:2013-08-28 05:30:12
【问题描述】:
如果我这样定义一个类:
class A{
public:
A(){}
virtual ~A(){}
virtual void func(){}
};
是不是说虚析构函数和func被内联了
【问题讨论】:
-
如果你仔细想想,内联虚函数并没有真正的意义。我能看到的唯一情况是您是否在编译时知道类型,但即便如此我也不确定编译器是否会进行优化。
-
@Borgleader:他们会在可能的时候这样做。然而,没有编译器真正擅长它,因为 C++ 语言中关于多态对象的构造和销毁的复杂规则。此外,由于一般情况下没有 JITing,因此可以完成的情况非常有限。
标签: c++ class inline virtual-destructor