1

可能重复:
派生对象上的 C++ 虚函数调用是否通过 vtable?

我有一个关于 c++ 虚拟表的问题,特别是针对 gcc。考虑以下代码

class A{
public:
virtual void doSomething(){}

}

class B : public A{
public:
virtual void doSomething(){}
}

//1 

A* a = new A()
a->doSomething();

现在的问题是,由于指针 a 指向 A 的对象,编译器是否会费心在虚函数中进行查找,或者它是否足够聪明地解决这个问题并摆脱虚表垃圾。?

谢谢

4

0 回答 0